整個一周都在揪心的貓事中度過。從十月底到現在的這段日子里,倒是越發懂得珍惜每天中片刻的寧靜時光。有時會懷疑家里是否有時空漩渦一類的東西,不然鐘表怎么會走的那么快,一點兒也不愿停下等等我的樣子。一切都會好起來。
獨白終了,進入正題。最近兩篇譯文都有涉及框架和跨平臺方面的話題:前一篇中,我們了解了一些用于移動應用開發的前端框架工具;今天這篇的立足點偏向設計開發流程的上游,它將向我們展示怎樣使用Foundation框架快速創建跨平臺的、可以在多種設備上進行測試的響應式頁面原型 。下面開始正文部分。
開門見山的說,作為網頁設計 和開發人員,我們面臨著以下幾個嚴峻的問題:
每天,人們用來上網的設備種類和數量都在不斷上升。
為每種設備設計開發不同的界面是不可能的。
即使你專門為某些設備定制打造,這些設備也很有可能在不久的將來退出主流舞臺。
真心歡樂。別怕,大家一起面對并解決問題。其實,不同類型的設備及屏幕的這個問題,很早以前就開始存在了,只是多年來我們一直忽視這個狀況,一廂情愿的守著960像素的網格系統。
如今,我們需要從設計流程的上游改變長久以來的習慣,比如嘗試快速創建可以在不同設備上進行測試的原型,而不只是針對臺式機瀏覽器或筆記本。這就是我們(英文原文作者的團隊)開發Foundation框架的原因。
Foundation是一款開源的前端框架,我們可以使用它快速創建頁面原型。相比于其他同類型工具,Foundation的移動化方案更加出色;借鑒響應式Web設計的思路和方法,Foundation對內容結構在不同類型設備中的的呈現方式進行了相應的預設。(關于響應式Web設計,可以參考我們之前的幾篇文章,包括響應式設計的概念、組成要素及基本實現思路,怎樣通過CSS3 Media Query實現響應式Web設計,以及相關的產品需求和設計流程案例學習)
接下來,我們將通過一個完整的實例,來演示怎樣使用Foundation快速創建跨平臺的頁面原型。走著!
資源概覽
首先到foundation.zurb.com下載代碼包;果斷點擊大藍按鈕即可。代碼包中包含以下文件及結構:
index.html – 我們將從這里開始創建第一個頁面。
javascripts和stylesheets路徑 – 主要的靜態資源文件,包括jQuery及所需的樣式表。
humans.txt和robots.txt – 里面的代碼算是不錯的樣板,有空的時候可以溜幾眼。
JS方面的東西基本不在本文討論范圍,我們繼續來看看stylesheets路徑中的文件:
global.css – 全局基礎樣式表,包括相對常規的12列固定寬度的網格系統、快速創建復雜布局的可嵌套工具等。另外還有其他全局字體、布局等方面的樣式定義。
ui.css – 用來對那些組成原型的常規UI元素進行樣式定義。
mobile.css – 負責移動設備方面的樣式,涉及響應式的樣式定義都在這里。
分別在瀏覽器和代碼編輯器中打開index.html文件。在瀏覽器中,我們可以看到該頁面包含了一些用于構筑原型的基礎布局結構及UI元素。
接下來,我們將從網格系統、快速創建原型、移動化這三個方面依次進行實例講解。
網格系統
首先來簡單看看global.css中的網格系統。如果你熟悉960網格系統或是Blueprint CSS框架,那么對Foundation的網格結構也應該不會陌生。下面是一段典型的結構代碼:
?
1 2 3 4 5 6
<
div
class
=
"container"
>
<
div
class
=
"row"
>
<
div
class
=
"eight columns"
id
=
"mainContent"
> ... </
div
>
<
div
class
=
"four columns"
id
=
"sidebarContent"
> ... </
div
>
</
div
>
</
div
>
該結構由三部分組成:外層容器container、行容器row和列容器columns。外層容器的作用只是為頁面添加左右內邊距(padding)。
行容器擁有一個固定的大寬度值,防止頁面在大顯示器中過寬;當然,如果你想打造純粹的液態布局,也可以在樣式表中去掉這個屬性。
列容器是最內層的內容容器,在我們的網格系統中,每行最多可以放置12個列容器。上面的代碼中,我們創建的是典型的“內容+側邊欄”布局,寬度分別為全寬的2/3和1/3。
網格布局可以進行嵌套:
?
1 2 3 4 5 6 7 8 9 10 11 12
<
div
class
=
"container"
>
<
div
class
=
"row"
>
<
div
class
=
"eight columns"
>
<
div
class
=
"row"
>
<
div
class
=
"four columns"
> ... </
div
>
<
div
class
=
"four columns"
> ... </
div
>
<
div
class
=
"four columns"
> ... </
div
>
</
div
>
</
div
>
<
div
class
=
"four columns"
> ... </
div
>
</
div
>
</
div
>
Foundation官網中有一些布局范例可以參考。
快速創建原型
開始動手。我們要為一個簡單的新聞資訊類網站制作 首頁和文章內頁的原型;整個過程包括兩部分:使用Foundation快速創建基礎原型,以及為不同類型的設備進行移動化處理。首先來看第一部分。
最好拿起紙和筆,在創建原型之前將構思勾畫出來。下面是我們為基礎版本的首頁(桌面顯示器版本)畫的草圖:
可以看到,首頁的大致布局包括頁頭、主要文章內容圖文、側邊的次級內容圖文、特色文章圖文列表。對這個頁面,我們可以用到一些Foundation自帶的布局結構,以及一個不錯的外部服務。
頁面整體布局方面,使用前面介紹過的網格系統。
全局主導航使用Foundation預設的tab結構。
對于每個圖文單元中的圖片,我們使用placehold.it提供的服務。它會按照指定的比例輸出可以填滿容器的示范內容,包括用來占位的圖片,以及可以自定義的文案等。
OK我們從頁頭開始。Foundation框架會保證舊瀏覽器兼容HTML5,所以我們在這里可以放心的使用更加語義化的header標簽。因為頁頭是一個包含多列內容的塊級結構,所以我們還要為它添加class=”row”。代碼如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13
<
div
class
=
"container"
>
<
header
class
=
"row"
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
<
div
class
=
"eight columns"
>
<
h1
class
=
"centered"
>The Foundation Times</
h1
>
<
h5
class
=
"centered"
>December 1, 2011</
h5
>
</
div
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
</
header
>
可以看到,在外部容器container中,我們將header作為完整的一行,其中放置了三列,寬度方面是1:4:1的關系。在第一列和第三列中,我們使用了placehold.it提供的占位圖片,用來表示logo等元素。在第二列中,我們使用h1標簽作為網站標題的容器,副標題則使用h5。
接下來是導航。我們要使用Foundation預設的tab形式;代碼結構如下:
?
1 2 3 4 5 6 7 8 9 10 11
<
div
class
=
"row"
>
<
div
class
=
"twelve columns"
>
<
dl
class
=
"tabs"
>
<
dd
><
a
href
=
"#"
class
=
"active"
>All News</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Llamas</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Alpacas</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Vicunas</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Other Dromedaries</
a
></
dd
>
</
dl
>
</
div
>
</
div
>
雖然在這一行中只有一套導航元素,但是我們仍然需要將導航元素列表dl放置在一個列容器中,并且將這個列容器設置為12列全寬,否則布局將出現問題。
對于頁面其他部分的內容,基本方式是類似的,我們將會用到網格系統、一些基本的元素、以及Foundation自帶的UI組件。下面是頁面剩余部分的HTML代碼:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
<
div
class
=
"row"
>
<
div
class
=
"eight columns"
>
<
img
src
=
"http://placehold.it/800x340"
/>
<
h3
><
a
href
=
"#"
>Llamas: Great Pets or the Best Pets?</
a
></
h3
>
<
p
>Intrepid reporter Jordan Humphreys went to Happy Time Llama Farm to investigate: are llamas merely great pets, or he best pets? Read the full article to find out!</
p
> <
a
href
=
"#"
class
=
"small radius nice blue button"
>Read More →</
a
>
</
div
>
<
div
class
=
"four columns"
>
<
div
class
=
"row"
>
<
div
class
=
"five columns"
>
<
img
src
=
"http://placehold.it/120x100"
/>
</
div
>
<
div
class
=
"seven columns"
>
<
h5
><
a
href
=
""
>Alpaca Farm Closed</
a
></
h5
>
<
p
>Anthony Tadina reports on this tragic closing.<
br
/><
a
href
=
"#"
>Read More →</
a
></
p
>
</
div
>
</
div
>
... [repeat this row twice more]
</
div
>
</
div
>
<
div
class
=
"row"
>
<
div
class
=
"twelve columns"
>
<
hr
/>
</
div
>
</
div
>
<
div
class
=
"row"
>
<
div
class
=
"three columns"
>
<
img
src
=
"http://placehold.it/260x190"
/>
<
h5
><
a
href
=
"#"
>Feature 1</
a
></
h5
>
<
p
>Description<
br
/><
a
href
=
"#"
>Read More →</
a
></
p
>
</
div
>
... [repeat this column 3 more times]
</
div
>
<
footer
class
=
"row"
>
<
div
class
=
"seven columns"
>
<
p
><
strong
>The Foundation Times</
strong
><
br
/>© 2025 no rights reserved.</
p
>
</
div
>
<
div
class
=
"five columns"
>
<
p
><
a
href
=
"#"
>All News</
a
> | <
a
href
=
"#"
>Llamas</
a
> | <
a
href
=
"#"
>Alpacas</
a
> | <
a
href
=
"#"
>Vicunas</
a
> | <
a
href
=
"#"
>Other Dromedaries</
a
></
p
>
</
div
>
</
footer
>
我們可以看到,HTML原型中每個部分的代碼結構其實都是相當基礎和簡單的。需要注意的是class中帶有“button”的元素,這些是Foundation預設的按鈕,包括幾種不同的風格樣式。我們可以用這樣的方式將a標簽或是button類型的input元素定義為風格化按鈕,并通過“small”、“radius”等class為其設置具體的樣式:
small 或large – 可選;控制按鈕的尺寸;如果不做設置,默認將為中等尺寸。
radius - 可選;為按鈕增加幾像素的圓角效果。該值還可以是round ,樣式為左右兩側完全圓弧。不做設置時,默認樣式是矩形。
nice – 可選;添加少許高光等細節效果。
blue – 可選;設置顏色;該值還可以是red 、black 、grey ,或是在樣式表中進行過自定義的任何名稱。
button – 唯一的必要class,用來將元素格式化為按鈕。
通過這樣一些很基本的HTML代碼,我們就已經創建好了基礎版本的原型;當前的實際效果如下圖所示。
如果僅僅需要為桌面設備制作頁面原型,那么到這里我們的任務就已經完成了。不過在本次實例中,我們還要演示怎樣使原型針對不同類型移動設備進行響應式的兼容,實現跨平臺。
移動化
用戶使用移動設備訪問網站時,期望會有所不同。對于眼前這個內容類網站,我們希望用戶在使用移動設備進行訪問的時候,可以在首屏直接看到主要內容部分。移動設備用戶在瀏覽網頁時,很厭惡的一點就是,在忍受了網站頁頭和全局導航的加載過程之后,仍然無法立刻看到主要內容。(關于在移動設備中,網站內容呈現方式的策略,可以參考我們之前關于響應式網站 產品需求及設計流程方面的文章)
在不做任何移動化處理之前,我們的原型在小屏幕移動設備中的呈現方式如下圖所示:
首屏中,我們只能看到logo、網站標題等與主要內容、全局導航無關的元素。真心不靠譜。我們接下來要使用一些Foundation提供的的專門用來處理不同設備視圖的class,讓原型中某些元素在小屏幕移動設備中發生變化。
當前,我們的基礎版頁面原型中,header部分的代碼是這樣的:
?
1 2 3 4 5 6 7 8 9 10 11 12
<
header
class
=
"row"
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
<
div
class
=
"eight columns"
>
<
h1
class
=
"centered"
>The Foundation Times</
h1
>
<
h5
class
=
"centered"
>December 1, 2011</
h5
>
</
div
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
</
header
>
添加了移動化的class之后:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<
header
class
=
"row hide-on-phones"
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
<
div
class
=
"eight columns"
>
<
h1
class
=
"centered"
>The Foundation Times</
h1
>
<
h5
class
=
"centered"
>December 1, 2011</
h5
>
</
div
>
<
div
class
=
"two columns"
>
<
img
src
=
"http://placehold.it/200x120"
/>
</
div
>
</
header
>
<
header
class
=
"row show-on-phones"
>
<
div
class
=
"twelve columns"
>
<
img
src
=
"http://placehold.it/480x100"
/>
<
h1
class
=
"centered"
>The Foundation Times</
h1
>
<
h5
class
=
"centered"
>December 1, 2011</
h5
>
</
div
>
</
header
>
重點在于兩個新的class,一個是hide-on-phones ,另外一個是show-on-phones 。顧名思義,它們用來控制元素在手機設備上的顯示和隱藏。Foundation預設了一些這樣的class,用來根據不同類型的設備,響應式的調整頁面元素的呈現方式。
現在,當使用手機瀏覽頁面原型時,只有第二個簡化的header會顯示出來。接下來,我們為這個移動版本的header寫幾行樣式:
?
1 2 3 4 5
h
1
.centered {
text-align
:
center
;
margin-bottom
:
0
; }
h
5
.centered {
text-align
:
center
; }
.show-on-phones h
1
.centered {
font-size
:
24px
;
font-size
:
2.4
rem; }
.show-on-phones h
5
.centered {
font-size
:
12px
;
font-size
:
1.2
rem;
margin-bottom
:
20px
;
padding-bottom
:
10px
;
border-bottom
:
1px
solid
#ddd
; }
來看看到目前的成果:
好多了。現在的問題是,導航項在小屏幕中顯得太多了,布局發生了錯亂。一個常見的解決方案是,對手機設備,將導航移至頁面底部。當然,我們并不是要真的移動它,而是像前面那樣設置不同的顯示規則。對于目前的全局導航,在class中增加一個hide-on-phones:
?
1 2 3 4 5 6 7 8 9 10 11
<
div
class
=
"row hide-on-phones"
>
<
div
class
=
"twelve columns"
>
<
dl
class
=
"tabs"
>
<
dd
><
a
href
=
"#"
class
=
"active"
>All News</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Llamas</
a
></
dd
>
<
dd
><
a
href
=
"#"
>Alpacas</
a
></
dd
>
<
dd
><
新聞名稱:快速創建跨平臺的網站頁面原型
網頁地址:http://m.kartarina.com/news30/165430.html
成都網站建設公司 _創新互聯 ,為您提供移動網站建設 、小程序開發 、虛擬主機 、定制網站 、搜索引擎優化 、營銷型網站建設
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯
感谢您访问我们的网站,您可能还对以下资源感兴趣:
99精品电影
主站蜘蛛池模板:
亚洲中文字幕无码av |
国产嫖妓一区二区三区无码 |
国产精品成人一区无码 |
国产成年无码久久久久下载 |
内射人妻少妇无码一本一道
|
欧美性生交xxxxx无码影院∵ |
东京热一精品无码AV |
亚洲AV人无码综合在线观看 |
国产精品亚洲一区二区无码 |
日韩精品无码中文字幕一区二区 |
毛片亚洲AV无码精品国产午夜 |
亚洲AV无码日韩AV无码导航 |
人妻丰满熟AV无码区HD |
蜜桃无码AV一区二区 |
亚洲国产精品无码一线岛国 |
日韩精品无码人妻一区二区三区 |
亚洲中文字幕久久无码 |
无码精品国产一区二区三区免费 |
免费一区二区无码东京热 |
无码一区二区三区AV免费 |
中文字幕亚洲精品无码 |
无码人妻一区二区三区免费n鬼沢
无码人妻一区二区三区免费看
|
国产久热精品无码激情 |
久久亚洲AV无码精品色午夜麻 |
亚洲 无码 在线 专区 |
亚洲AV成人片无码网站 |
亚洲日韩精品无码AV海量 |
人妻系列无码专区无码中出 |
亚洲成a人片在线观看无码 |
亚洲国产精品无码观看久久 |
亚洲AV无码无限在线观看不卡 |
中文字幕乱偷无码AV先锋 |
免费无码又爽又刺激毛片 |
无码精品A∨在线观看免费 |
午夜亚洲AV日韩AV无码大全
|
中文字幕无码免费久久99 |
亚洲色av性色在线观无码 |
亚洲中文字幕无码中文字 |
亚州AV综合色区无码一区
|
日韩精品无码一区二区三区 |
亚洲AV永久无码精品水牛影视
|