什么是響應(yīng)式設(shè)計(jì)呢?維基百科是這樣對(duì)響應(yīng)式作的描述:“Responsive設(shè)計(jì)簡單的稱為RWD,是精心提供各種設(shè)備都能瀏覽網(wǎng)頁的一種設(shè)計(jì)方法,RWD能讓你的網(wǎng)頁在不同的設(shè)備中展現(xiàn)不同的設(shè)計(jì)風(fēng)格。”從這一點(diǎn)描述來說,RWD不是流體布局,也不是網(wǎng)格布局,而是一種獨(dú)特的網(wǎng)頁設(shè)計(jì)方法。
響應(yīng)式設(shè)計(jì)要考慮元素布局的秩序,而且還需要做到“有求必應(yīng)”,那就需要滿足以下三個(gè)條件:網(wǎng)站必須建立靈活的網(wǎng)格基礎(chǔ);引用到網(wǎng)站的圖片必須是可伸縮的;不同的顯示風(fēng)格,需要在Media Queries上寫不同的樣式。
要想靈活的使用Responsive,僅滿足這幾個(gè)條件還是不夠的,我們必須對(duì)Responsive有一個(gè)全面的了解,那么要了解Responsive,就得先了解他的一些術(shù)語:
流體網(wǎng)格是一個(gè)簡單的網(wǎng)格系統(tǒng),這種網(wǎng)格設(shè)計(jì)參考了流體設(shè)計(jì)中的網(wǎng)格系統(tǒng),將每個(gè)網(wǎng)格格子使用百分比單位來控制網(wǎng)格大小。這種網(wǎng)格系統(tǒng)最大的好處是讓你的網(wǎng)格大小隨時(shí)根據(jù)屏幕尺寸大小做出相對(duì)應(yīng)的比例縮放。
彈性圖片指的是不給圖片設(shè)置固定尺寸,而是根據(jù)流體網(wǎng)格進(jìn)行縮放,用于適應(yīng)各種網(wǎng)格的尺寸。而實(shí)現(xiàn)方法是比較簡單,一句代碼就能搞定的事情。
img {max-width:100%;}
不幸的是,這句代碼在IE8瀏覽器存在一個(gè)嚴(yán)重的問題,讓你的圖片會(huì)失蹤。當(dāng)然彈性圖片在響應(yīng)式設(shè)計(jì)中如何更好的實(shí)現(xiàn),到目前為止都還存在爭議,也還在不斷的改善之中。
為每一個(gè)斷點(diǎn)提供不同的圖片,這是一個(gè)比較頭痛的事情,因?yàn)镸edia Queries并不能改變圖片“src”的屬性值,那有沒有辦分法可以解決呢?可以參考一下下面的解決方法。使用background-image給元素使用背景圖片,顯示/隱藏父元素,給父元素使用不同的圖片,然后通過Media Queries來控制這些圖片顯示或隱藏。
來看一個(gè)斷點(diǎn)解決圖片自適應(yīng)的例子。
<img src="image.jpg" data-src-600px="image-600px.jpg" data-src-800px="image-800px.jpg" alt="" />
對(duì)應(yīng)的CSS代碼:
@media (min-device-width:600px){ img[data-src-600px]{ content: attr(data-src-600px,url); } } @media (min-device-width:800px){ img[data-src-800px] { content:attr(data-src-800px,url); } }
媒體查詢?cè)贑SS3中得到了強(qiáng)大的擴(kuò)展。使用這個(gè)屬性可以讓你的設(shè)計(jì)根據(jù)用戶終端設(shè)備適配對(duì)應(yīng)的樣式。這也是響應(yīng)式設(shè)計(jì)中最為關(guān)鍵的。可以說Responsive設(shè)計(jì)離開了Medial Queries就失去了他生存的意義。簡單的說媒體查詢可以根據(jù)設(shè)備的尺寸,查詢出適配的樣式。Responsive設(shè)計(jì)最關(guān)注的就是:根據(jù)用戶的使用設(shè)備的當(dāng)前寬度,你的Web頁面將加載一個(gè)備用的樣式,實(shí)現(xiàn)特定的頁面風(fēng)格。
本部分無練習(xí)任務(wù)
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)