谷順利
(上海珀泰藍(lán)衛(wèi)浴有限公司 上海 201417)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展各種智能產(chǎn)品不斷涌現(xiàn),第五代移動通信技術(shù)(5th Generation Mobile Communication Technology,5G)越來越普遍,通過手機上網(wǎng)成了人們的首要選擇。但手機屏幕尺寸及分辨率是多種多樣的,在不同尺寸和分辨率下瀏覽網(wǎng)頁時,便會產(chǎn)生不同的視覺效果。當(dāng)使用者瀏覽一個特定網(wǎng)頁時,網(wǎng)頁在手機上呈現(xiàn)的效果與電腦上所呈現(xiàn)的效果一樣時,會導(dǎo)致使用者在獲得資訊時不斷地將圖片放大或縮小,從而對使用者在獲得有效信息時產(chǎn)生一定的影響[1]。在兼容各種尺寸和分辨率設(shè)備尚未問世前,設(shè)計者會針對各種規(guī)格、分辨率的設(shè)備進行頁面設(shè)計,不但工作量巨大且后期維護困難。由于各種各樣的終端設(shè)備不斷問世,這個辦法顯然是行不通的,因此響應(yīng)式網(wǎng)頁能很好地解決上面提到的問題,對使用者來說,不同的系統(tǒng)平臺、設(shè)備大小、分辨率,均能夠保持良好的版面布局[2]。為滿足使用者對網(wǎng)頁連貫性的需求,本文提出了一種以Bootstrap 架構(gòu)為基礎(chǔ)響應(yīng)式網(wǎng)頁設(shè)計(responsive web design,RWD)理念,使用通用網(wǎng)頁框架來作為模板,能夠適應(yīng)不同屏幕尺寸和分辨率的設(shè)備,從而提高使用者的使用體驗。
采用響應(yīng)式技術(shù)開發(fā)方法,可以根據(jù)不同大小的瀏覽設(shè)備,自動調(diào)整版面結(jié)構(gòu)、元素規(guī)格樣式,將內(nèi)容以不同的形式顯示出來。該系統(tǒng)能夠更好地進行代碼重組,從而可以避免重復(fù)編寫不同版面的網(wǎng)頁,大大減少開發(fā)時間和費用。
由伊?!ゑR科特提出的RWD,是指能夠根據(jù)屏幕大小,進行網(wǎng)頁的相應(yīng)調(diào)整[3]。在網(wǎng)頁設(shè)計中,注重模塊化設(shè)計,要求一個符合標(biāo)準(zhǔn)的模塊可以“擴展”“無浸染”,并且可以在任意一臺手機上進行正常的展示。在所有的設(shè)備中,響應(yīng)式網(wǎng)頁均可以正常適應(yīng),無需為每一個設(shè)備建立子網(wǎng)站。簡單來說,就是一個網(wǎng)站可以兼容多個終端,而非針對某一種終端。
傳統(tǒng)網(wǎng)頁均是固定大小的方框(網(wǎng)格),不能隨外部環(huán)境而變化。而響應(yīng)式網(wǎng)頁就像是流水一樣,可以根據(jù)顯示界面大小進行自動調(diào)節(jié)。響應(yīng)式網(wǎng)頁中常見的流線型設(shè)計理念為元素寬度按百分比進行設(shè)置。因此,通常響應(yīng)式設(shè)計比喻成一個瀑布,在小屏幕上,所有的元素均會被自動地豎直排列和分配。最關(guān)鍵的是,能應(yīng)對各種大小和類型的屏幕進行調(diào)整,以獲得最佳的顯示效果。在傳統(tǒng)的網(wǎng)頁設(shè)計中,網(wǎng)頁的版式是3 欄、標(biāo)題和腳印,標(biāo)題主要展示站點logo、簡介和導(dǎo)航菜單(也就是導(dǎo)航欄)。頁面的底部包含了輔助導(dǎo)航,聯(lián)系方式和版權(quán)信息。根據(jù)網(wǎng)頁設(shè)計的特點,結(jié)合移動用戶瀏覽要求,采用Bootstrap 架構(gòu)將網(wǎng)頁導(dǎo)航條移動到網(wǎng)頁頂部,并將標(biāo)題插入到網(wǎng)頁的左右兩側(cè)和內(nèi)容區(qū)域,用于顯示logo、簡介和快速搜索。這種設(shè)計可以最大限度地發(fā)揮邊框優(yōu)勢,當(dāng)需要時會自動地把導(dǎo)航條縮進到菜單欄中。
響應(yīng)式網(wǎng)頁能夠滿足不同的用戶需要,為用戶帶來最佳訪問體驗。國內(nèi)許多知名網(wǎng)站,如知乎、時尚頻道、新浪時尚、淘寶、百度等,以知乎最具代表性,在互聯(lián)網(wǎng)搜索越來越流行的時代,采用了響應(yīng)式設(shè)計,該網(wǎng)站能夠在各種大小的終端設(shè)備上正常地顯示,并為通過手機終端訪問提供了靈活的瀏覽方法,提高了用戶的體驗[4]。
2011年Twitter 發(fā)布的Bootstrap 框架,擁有HTML、CSS、JavaScript 等應(yīng)式Web 框架。之所以采用Bootstrap框架,是因為Bootstrap 可以讓用戶快速建立反應(yīng)頁面,可以很好地適應(yīng)各種大小和分辨率的智能設(shè)備。此外,該系統(tǒng)提供了一套響應(yīng)式移動設(shè)備優(yōu)先光柵系統(tǒng),當(dāng)屏幕或視窗大小增大時,系統(tǒng)會將其分為12 個欄以簡化頁面布局,方便用戶操作[5]。
作為CSS3 模塊的一部分,媒體查詢是響應(yīng)式設(shè)計的關(guān)鍵技術(shù)。在識別出使用者所用屏幕大小和分辨率后,會自動將設(shè)備與對應(yīng)的CSS3 風(fēng)格相對匹配,以便在裝置上提供最佳的瀏覽體驗。媒體查詢包括媒體類型和條件表達(dá),用以檢測媒體類型,媒體特征和邏輯操作。CSS3 風(fēng)格可以通過媒體查詢類型設(shè)定的媒體特征來進行匹配,如,當(dāng)媒體發(fā)現(xiàn)當(dāng)前裝置是screen 電腦畫面,而當(dāng)前的瀏覽器視角≥500 px,那么CSS3 中的風(fēng)格背景將會變?yōu)楹谏?,代碼如下所示。
@media screen and(min-width:500px){
body{
background-color :red;
}
與固定布局相比,流體布局是衡量站點大小的單位,固定布局是指最外層框架是固定像素。而流式布局不需要考慮設(shè)備和屏幕大小,而是采用百分比。網(wǎng)站具有良好彈性和靈活性[6],流式布局也是當(dāng)前主流布局方式之一。當(dāng)容器改變時,會根據(jù)具體情況進行尺寸及位置調(diào)整,而流式布局則與媒體查詢緊密相連。布局格式,如圖1所示。
圖1 布局格式
Bootstrap 框架在目前主要瀏覽器中實現(xiàn)良好兼容,具體瀏覽器兼容性見表1。
表1 瀏覽器兼容性
在使用手機瀏覽網(wǎng)頁時,頁面導(dǎo)航條可以根據(jù)Bootstrap 提供的折疊式導(dǎo)航條來進行反應(yīng)。而導(dǎo)航條會隨著屏幕的改變而改變,把要放在小屏幕上的內(nèi)容(即導(dǎo)航條內(nèi)容),設(shè)置成
實現(xiàn)響應(yīng)式的主要環(huán)節(jié)是柵格系統(tǒng),它是用相對固定的格子來完成網(wǎng)頁布局,把網(wǎng)頁內(nèi)容和信息按一定順序排列在格子里,光柵是由行(row)和列(column)組成的頁面布局,該設(shè)計優(yōu)點是可以根據(jù)不同的終端設(shè)備來設(shè)計頁面。Bootstrap 柵格系統(tǒng),是CSS 風(fēng)格的一個類。在Bootstrap 中container 被稱作是一個容器,它的寬度固定,支持響應(yīng)布局[7]。Bootstrap 柵格參數(shù)見表2,可見,在這個類別前、后面一個從1~12 的數(shù)字。它的設(shè)計原則是根據(jù)容器的百分?jǐn)?shù)來確定尺寸,采用柵格系統(tǒng),每行最多12 個欄,行將平均分為12 部分,然后按照不同的位置排列,通過媒體查詢,可以對不同的終端設(shè)備做出反應(yīng)。
表2 Bootstrap 柵格參數(shù)
當(dāng)窗口寬度>1 200 px 時,col-lg-會被自動調(diào)用,如果是3 列,則代碼如下。
當(dāng)窗口寬度為992 px~1 200 px 時,col-md-會被自動調(diào)用,如果比例為6 ∶4 ∶2,則代碼如下。
當(dāng)窗口寬度為768 px~992 px 時,如果是3 列,則代碼如下。
傳統(tǒng)導(dǎo)航條通常是在網(wǎng)頁頂端橫向顯示的,不能隨頁面的變化而更改。使用列表進行排版,利用左邊浮點特征來達(dá)到橫向顯示。但如果在低分辨率的終端設(shè)備下,網(wǎng)頁很可能會被遮擋或轉(zhuǎn)換,從而降低用戶的使用體驗。同時,Bootstrap 還提供了導(dǎo)航部件,它可以將內(nèi)容按照實際情況進行折疊,且可以隨著視野寬度增大而橫向擴展。實現(xiàn)導(dǎo)航條的關(guān)鍵在于要在導(dǎo)航中設(shè)置中斷點,在導(dǎo)航條中增加對應(yīng)部件,并根據(jù)媒體要求做出相應(yīng)修改。某信息管理系統(tǒng)網(wǎng)站的外觀設(shè)計要兼顧外部、內(nèi)部、前端和后臺三個方面。在本次網(wǎng)頁設(shè)計中,將網(wǎng)頁設(shè)計分為3 個區(qū)域:頂部區(qū)域、左側(cè)導(dǎo)航區(qū)和內(nèi)容區(qū)。某管理系統(tǒng)主頁,如圖2所示。
圖2 某管理系統(tǒng)主頁
3.2.1 HTML5 結(jié)構(gòu)的搭建
Bootstrap 框架是基于HTML5 完成的,因此網(wǎng)站架構(gòu)應(yīng)該與HTML5 的架構(gòu)相一致,HTML5 架構(gòu)如下。
html lang—" ">
3.2.2 Bootstrap 引入
網(wǎng)站以Bootstrap 架構(gòu)為基礎(chǔ),為了支持Bootstrap相關(guān)內(nèi)容,需要在網(wǎng)頁中導(dǎo)入相應(yīng)文檔,導(dǎo)入Bootstrap相關(guān)文件遵循以下操作。
href="lib/bootstrap/css/bootstrap.min.css">
script src=" lib/bootstrap/js/bootstrap.min.js" >
媒體查詢功能是響應(yīng)式設(shè)計的關(guān)鍵,在本文應(yīng)用案例設(shè)計中,根據(jù)使用者的實際使用狀況及應(yīng)用終端進行調(diào)研,發(fā)現(xiàn)該網(wǎng)站所適應(yīng)的產(chǎn)品有3 種類型:電腦、平板、智能手機。因此在設(shè)計時采用了less 文檔,利用媒體查詢方法來建立臨界分界點。在Bootstrap 框架的支持下,按照小屏幕移動設(shè)備終端(<768 px)、小屏幕平板智能終端(≥768 px)、中等屏幕智能終端(≥992 px)、大屏幕智能終端(≥1 200 px)進行劃分。由于Bootstrap框架默認(rèn)將手機作為優(yōu)先權(quán),因此一般不會在超小屏幕上顯示與媒體查詢的有關(guān)代碼。盡管CSS 會影響到各種設(shè)備和頁面實際使用,但可以將CSS 影響控制在最小的屏幕尺寸。為了實現(xiàn)響應(yīng)式Web 設(shè)計,必須要有可靠的媒體查詢功能,Bootstrap 框架可以為用戶提供相應(yīng)的代碼,因為Bootstrap 框架包含了大量的代碼,所以在設(shè)計過程中,用戶不必花費太多的時間去修改和調(diào)整。
手機應(yīng)用程序開發(fā)的特殊性,使得在設(shè)計過程中,會出現(xiàn)大量不同風(fēng)格的圖片,因頁面版面結(jié)構(gòu)會對特定位置造成較大影響。結(jié)合響應(yīng)式設(shè)計理念,網(wǎng)站會根據(jù)不同的設(shè)備(使用環(huán)境)來調(diào)整頁面大小和圖片尺寸,以及調(diào)整整個頁面的布局,以確保網(wǎng)站的靈活性,從而適應(yīng)不同設(shè)備的實際應(yīng)用。這里的流式布局,是為了讓網(wǎng)頁中各個要素均保持浮動特性。一般情況下,網(wǎng)頁元素均會在網(wǎng)頁左邊浮動,當(dāng)網(wǎng)頁寬度不足以容納1 個元素時,這個元素就會被移到下方,并隨著使用者的向上移動而逐漸顯現(xiàn)。采用流式布局,可以保證網(wǎng)站中每個要素均能得到合理的位置和布局。
在響應(yīng)式Web 設(shè)計時,若使用PC 終端設(shè)備(1 200 px以上)來瀏覽網(wǎng)頁,左邊導(dǎo)航條將會被中斷點類型colmd-2 所控制。因為PC 端頁面寬度比較大,所以在頁面右邊內(nèi)容將會出現(xiàn)2 列橫向的顯示方式。在少數(shù)情況下,如果PC 端的顯示寬度小于768 px,那么左邊的導(dǎo)航條將由col-md-2 所控制。在此情形下,頁面上方菜單將會由于頁面寬度不夠而被隱藏,或轉(zhuǎn)換成獨立按鍵,以持續(xù)提供對應(yīng)功能?;谥悄苁謾C設(shè)備,左邊導(dǎo)航條寬度會由斷點類型col-xs-4 決定,因為頁面寬度在較小的水平,所以頁面內(nèi)容會被調(diào)節(jié)成一條縱向單行。即當(dāng)多個不同斷點被綜合使用時,網(wǎng)頁效果不會因設(shè)備分辨率和尺寸而改變。而column 列會根據(jù)不同畫面分辨率和屏幕尺寸表現(xiàn)出相應(yīng)功能,從而為用戶提供全面的使用體驗,以實現(xiàn)響應(yīng)式網(wǎng)頁設(shè)計。
Bootstrap 是一組前端開發(fā)架構(gòu),它的靈活性、可擴充性促進了響應(yīng)式網(wǎng)頁開發(fā),并加速了響應(yīng)式相關(guān)技術(shù)的發(fā)展?;贐ootStrap 的響應(yīng)式網(wǎng)頁設(shè)計,可以實現(xiàn)不同手機設(shè)備的兼容性。它可以自動判斷不同設(shè)備在不同環(huán)境下的用戶行為,從而自動地調(diào)整頁面,無論用戶使用何種設(shè)備,屏幕的位置是水平的還是垂直的,頁面均能自動地切換分辨率、圖片大小和相應(yīng)的文字功能,從而滿足不同設(shè)備的正常顯示和瀏覽。既節(jié)約了大量的人力和資源,又確保了PC 端和手機頁面的連貫性。