昨天中午Google進(jìn)行了一次在線講座,講述自適應(yīng)網(wǎng)頁(yè)設(shè)計(jì)的概念和方法,維護(hù)同一個(gè)網(wǎng)頁(yè)代碼,即可使網(wǎng)站在多種掃瞄 設(shè)備(從桌面電腦顯示器到智能手機(jī)或其他移動(dòng)產(chǎn)品設(shè)備)上具有更好的閱讀體驗(yàn),這里我將該講座內(nèi)容簡(jiǎn)要的整理一下。
1、在HTML頭部增加viewport標(biāo)簽。
在網(wǎng)站HTML文件的開(kāi)頭,增加viewport meta標(biāo)簽告訴掃瞄 器視口寬度等于設(shè)備屏幕寬度,且不進(jìn)行初始縮放。代碼如下:
<meta name="viewport" content="width=device-width, initial-scale=1" />
這段代碼支持Chrome、Firefox、IE9以上的掃瞄 器,但不支持IE8以及低于IE8的掃瞄 器。
2、在CSS文件尾部增加針對(duì)不同屏幕分辨率的規(guī)則。
例如使用如下的代碼,可以讓屏幕寬度低于480像素的設(shè)備(如iPhone等),網(wǎng)頁(yè)側(cè)欄隱藏中部?jī)?nèi)容欄寬度自動(dòng)調(diào)節(jié)。以下代碼針對(duì)Z-Blog,WordPress相關(guān)標(biāo)簽名稱(chēng)只需修改一下即可。
@media screen and (max-device-width: 480px) {
#divMain{
float: none;
width:auto;
}
#divSidebar {
display:none;
}
}
3、布局寬度使用相對(duì)寬度。
網(wǎng)頁(yè)總體框架可以使用絕對(duì)寬度,但往下的內(nèi)容框架、側(cè)欄等最好使用相對(duì)寬度,這樣針對(duì)不同分辨率進(jìn)行修改就方便。當(dāng)然也可以不用相對(duì)寬度,那就需要在 @media screen and (max-device-width: 480px) 里面增加各個(gè)div的針對(duì)小屏幕的寬度,實(shí)際上更麻煩。
4、頁(yè)面使用相對(duì)字體
在HTML頁(yè)面上不要使用絕對(duì)字體(px),而要使用相對(duì)字體(em),對(duì)于大多數(shù)掃瞄 器來(lái)說(shuō),通常用 em = px/16 換算,例如16px就等于1em。
根據(jù)上面講述的幾點(diǎn)內(nèi)容,我針對(duì)我博客的CSS進(jìn)行了一些修改,發(fā)現(xiàn)可以從iPhone手機(jī)掃瞄 到體驗(yàn)更佳的頁(yè)面,但有一個(gè)問(wèn)題沒(méi)有解決,就是頂部導(dǎo)航欄navbar顯示有問(wèn)題,換行后被下面的文章蓋住了,不知道怎樣能更好地解決這個(gè)問(wèn)題(更新:經(jīng)過(guò)網(wǎng)友提示,在導(dǎo)航欄divNavbar的樣式里,加入 overflow:hidden; 一行即可解決這個(gè)問(wèn)題)。
下圖是使用iPhone訪問(wèn)的,經(jīng)過(guò)修改CSS為自適應(yīng)網(wǎng)頁(yè)后的月光博客首頁(yè)頁(yè)面,看起來(lái)比原始的未優(yōu)化頁(yè)面好多了吧。
總之,根據(jù)上面四步進(jìn)行修改的話(huà),可以很簡(jiǎn)單地將一個(gè)網(wǎng)站修改為適合多種設(shè)備掃瞄 的頁(yè)面,這對(duì)于通過(guò)手機(jī)訪問(wèn)網(wǎng)站的用戶(hù)來(lái)說(shuō),的確是一件好事。