2022-06-09 分類: 網(wǎng)站建設(shè)
整個(gè)一周都在揪心的貓事中度過(guò)。從十月底到現(xiàn)在的這段日子里,倒是越發(fā)懂得珍惜每天中片刻的寧?kù)o時(shí)光。有時(shí)會(huì)懷疑家里是否有時(shí)空漩渦一類的東西,不然鐘表怎么會(huì)走的那么快,一點(diǎn)兒也不愿停下等等我的樣子。一切都會(huì)好起來(lái)。
獨(dú)白終了,進(jìn)入正題。最近兩篇譯文都有涉及框架和跨平臺(tái)方面的話題:前一篇中,我們了解了一些用于移動(dòng)應(yīng)用開發(fā)的前端框架工具;今天這篇的立足點(diǎn)偏向設(shè)計(jì)開發(fā)流程的上游,它將向我們展示怎樣使用Foundation框架快速創(chuàng)建跨平臺(tái)的、可以在多種設(shè)備上進(jìn)行測(cè)試的響應(yīng)式頁(yè)面原型。下面開始正文部分。
開門見山的說(shuō),作為網(wǎng)頁(yè)設(shè)計(jì)和開發(fā)人員,我們面臨著以下幾個(gè)嚴(yán)峻的問題:
真心歡樂。別怕,大家一起面對(duì)并解決問題。其實(shí),不同類型的設(shè)備及屏幕的這個(gè)問題,很早以前就開始存在了,只是多年來(lái)我們一直忽視這個(gè)狀況,一廂情愿的守著960像素的網(wǎng)格系統(tǒng)。
如今,我們需要從設(shè)計(jì)流程的上游改變長(zhǎng)久以來(lái)的習(xí)慣,比如嘗試快速創(chuàng)建可以在不同設(shè)備上進(jìn)行測(cè)試的原型,而不只是針對(duì)臺(tái)式機(jī)瀏覽器或筆記本。這就是我們(英文原文作者的團(tuán)隊(duì))開發(fā)Foundation框架的原因。
Foundation是一款開源的前端框架,我們可以使用它快速創(chuàng)建頁(yè)面原型。相比于其他同類型工具,F(xiàn)oundation的移動(dòng)化方案更加出色;借鑒響應(yīng)式Web設(shè)計(jì)的思路和方法,F(xiàn)oundation對(duì)內(nèi)容結(jié)構(gòu)在不同類型設(shè)備中的的呈現(xiàn)方式進(jìn)行了相應(yīng)的預(yù)設(shè)。(關(guān)于響應(yīng)式Web設(shè)計(jì),可以參考我們之前的幾篇文章,包括響應(yīng)式設(shè)計(jì)的概念、組成要素及基本實(shí)現(xiàn)思路,怎樣通過(guò)CSS3 Media Query實(shí)現(xiàn)響應(yīng)式Web設(shè)計(jì),以及相關(guān)的產(chǎn)品需求和設(shè)計(jì)流程案例學(xué)習(xí))
接下來(lái),我們將通過(guò)一個(gè)完整的實(shí)例,來(lái)演示怎樣使用Foundation快速創(chuàng)建跨平臺(tái)的頁(yè)面原型。走著!
首先到foundation.zurb.com下載代碼包;果斷點(diǎn)擊大藍(lán)按鈕即可。代碼包中包含以下文件及結(jié)構(gòu):
JS方面的東西基本不在本文討論范圍,我們繼續(xù)來(lái)看看stylesheets路徑中的文件:
分別在瀏覽器和代碼編輯器中打開index.html文件。在瀏覽器中,我們可以看到該頁(yè)面包含了一些用于構(gòu)筑原型的基礎(chǔ)布局結(jié)構(gòu)及UI元素。
接下來(lái),我們將從網(wǎng)格系統(tǒng)、快速創(chuàng)建原型、移動(dòng)化這三個(gè)方面依次進(jìn)行實(shí)例講解。
首先來(lái)簡(jiǎn)單看看global.css中的網(wǎng)格系統(tǒng)。如果你熟悉960網(wǎng)格系統(tǒng)或是Blueprint CSS框架,那么對(duì)Foundation的網(wǎng)格結(jié)構(gòu)也應(yīng)該不會(huì)陌生。下面是一段典型的結(jié)構(gòu)代碼:
?
1 2 3 4 5 6 |
|
該結(jié)構(gòu)由三部分組成:外層容器container、行容器row和列容器columns。外層容器的作用只是為頁(yè)面添加左右內(nèi)邊距(padding)。
行容器擁有一個(gè)固定的大寬度值,防止頁(yè)面在大顯示器中過(guò)寬;當(dāng)然,如果你想打造純粹的液態(tài)布局,也可以在樣式表中去掉這個(gè)屬性。
列容器是最內(nèi)層的內(nèi)容容器,在我們的網(wǎng)格系統(tǒng)中,每行最多可以放置12個(gè)列容器。上面的代碼中,我們創(chuàng)建的是典型的“內(nèi)容+側(cè)邊欄”布局,寬度分別為全寬的2/3和1/3。
網(wǎng)格布局可以進(jìn)行嵌套:
?
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Foundation官網(wǎng)中有一些布局范例可以參考。
開始動(dòng)手。我們要為一個(gè)簡(jiǎn)單的新聞資訊類網(wǎng)站制作首頁(yè)和文章內(nèi)頁(yè)的原型;整個(gè)過(guò)程包括兩部分:使用Foundation快速創(chuàng)建基礎(chǔ)原型,以及為不同類型的設(shè)備進(jìn)行移動(dòng)化處理。首先來(lái)看第一部分。
最好拿起紙和筆,在創(chuàng)建原型之前將構(gòu)思勾畫出來(lái)。下面是我們?yōu)榛A(chǔ)版本的首頁(yè)(桌面顯示器版本)畫的草圖:
可以看到,首頁(yè)的大致布局包括頁(yè)頭、主要文章內(nèi)容圖文、側(cè)邊的次級(jí)內(nèi)容圖文、特色文章圖文列表。對(duì)這個(gè)頁(yè)面,我們可以用到一些Foundation自帶的布局結(jié)構(gòu),以及一個(gè)不錯(cuò)的外部服務(wù)。
OK我們從頁(yè)頭開始。Foundation框架會(huì)保證舊瀏覽器兼容HTML5,所以我們?cè)谶@里可以放心的使用更加語(yǔ)義化的header標(biāo)簽。因?yàn)轫?yè)頭是一個(gè)包含多列內(nèi)容的塊級(jí)結(jié)構(gòu),所以我們還要為它添加class=”row”。代碼如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
可以看到,在外部容器container中,我們將header作為完整的一行,其中放置了三列,寬度方面是1:4:1的關(guān)系。在第一列和第三列中,我們使用了placehold.it提供的占位圖片,用來(lái)表示logo等元素。在第二列中,我們使用h1標(biāo)簽作為網(wǎng)站標(biāo)題的容器,副標(biāo)題則使用h5。
接下來(lái)是導(dǎo)航。我們要使用Foundation預(yù)設(shè)的tab形式;代碼結(jié)構(gòu)如下:
?
1 2 3 4 5 6 7 8 9 10 11 |
|
雖然在這一行中只有一套導(dǎo)航元素,但是我們?nèi)匀恍枰獙?dǎo)航元素列表dl放置在一個(gè)列容器中,并且將這個(gè)列容器設(shè)置為12列全寬,否則布局將出現(xiàn)問題。
對(duì)于頁(yè)面其他部分的內(nèi)容,基本方式是類似的,我們將會(huì)用到網(wǎng)格系統(tǒng)、一些基本的元素、以及Foundation自帶的UI組件。下面是頁(yè)面剩余部分的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 |
|
我們可以看到,HTML原型中每個(gè)部分的代碼結(jié)構(gòu)其實(shí)都是相當(dāng)基礎(chǔ)和簡(jiǎn)單的。需要注意的是class中帶有“button”的元素,這些是Foundation預(yù)設(shè)的按鈕,包括幾種不同的風(fēng)格樣式。我們可以用這樣的方式將a標(biāo)簽或是button類型的input元素定義為風(fēng)格化按鈕,并通過(guò)“small”、“radius”等class為其設(shè)置具體的樣式:
通過(guò)這樣一些很基本的HTML代碼,我們就已經(jīng)創(chuàng)建好了基礎(chǔ)版本的原型;當(dāng)前的實(shí)際效果如下圖所示。
如果僅僅需要為桌面設(shè)備制作頁(yè)面原型,那么到這里我們的任務(wù)就已經(jīng)完成了。不過(guò)在本次實(shí)例中,我們還要演示怎樣使原型針對(duì)不同類型移動(dòng)設(shè)備進(jìn)行響應(yīng)式的兼容,實(shí)現(xiàn)跨平臺(tái)。
用戶使用移動(dòng)設(shè)備訪問網(wǎng)站時(shí),期望會(huì)有所不同。對(duì)于眼前這個(gè)內(nèi)容類網(wǎng)站,我們希望用戶在使用移動(dòng)設(shè)備進(jìn)行訪問的時(shí)候,可以在首屏直接看到主要內(nèi)容部分。移動(dòng)設(shè)備用戶在瀏覽網(wǎng)頁(yè)時(shí),很厭惡的一點(diǎn)就是,在忍受了網(wǎng)站頁(yè)頭和全局導(dǎo)航的加載過(guò)程之后,仍然無(wú)法立刻看到主要內(nèi)容。(關(guān)于在移動(dòng)設(shè)備中,網(wǎng)站內(nèi)容呈現(xiàn)方式的策略,可以參考我們之前關(guān)于響應(yīng)式網(wǎng)站產(chǎn)品需求及設(shè)計(jì)流程方面的文章)
在不做任何移動(dòng)化處理之前,我們的原型在小屏幕移動(dòng)設(shè)備中的呈現(xiàn)方式如下圖所示:
首屏中,我們只能看到logo、網(wǎng)站標(biāo)題等與主要內(nèi)容、全局導(dǎo)航無(wú)關(guān)的元素。真心不靠譜。我們接下來(lái)要使用一些Foundation提供的的專門用來(lái)處理不同設(shè)備視圖的class,讓原型中某些元素在小屏幕移動(dòng)設(shè)備中發(fā)生變化。
當(dāng)前,我們的基礎(chǔ)版頁(yè)面原型中,header部分的代碼是這樣的:
?
1 2 3 4 5 6 7 8 9 10 11 12 |
|
添加了移動(dòng)化的class之后:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
重點(diǎn)在于兩個(gè)新的class,一個(gè)是hide-on-phones,另外一個(gè)是show-on-phones。顧名思義,它們用來(lái)控制元素在手機(jī)設(shè)備上的顯示和隱藏。Foundation預(yù)設(shè)了一些這樣的class,用來(lái)根據(jù)不同類型的設(shè)備,響應(yīng)式的調(diào)整頁(yè)面元素的呈現(xiàn)方式。
現(xiàn)在,當(dāng)使用手機(jī)瀏覽頁(yè)面原型時(shí),只有第二個(gè)簡(jiǎn)化的header會(huì)顯示出來(lái)。接下來(lái),我們?yōu)檫@個(gè)移動(dòng)版本的header寫幾行樣式:
?
1 2 3 4 5 |
|
來(lái)看看到目前的成果:
好多了?,F(xiàn)在的問題是,導(dǎo)航項(xiàng)在小屏幕中顯得太多了,布局發(fā)生了錯(cuò)亂。一個(gè)常見的解決方案是,對(duì)手機(jī)設(shè)備,將導(dǎo)航移至頁(yè)面底部。當(dāng)然,我們并不是要真的移動(dòng)它,而是像前面那樣設(shè)置不同的顯示規(guī)則。對(duì)于目前的全局導(dǎo)航,在class中增加一個(gè)hide-on-phones:
?
新聞名稱:快速創(chuàng)建跨平臺(tái)的網(wǎng)站頁(yè)面原型
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、小程序開發(fā)、虛擬主機(jī)、定制網(wǎng)站、搜索引擎優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容<
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
><
網(wǎng)頁(yè)地址:http://jinyejixie.com/news30/165430.html