響應(yīng)式設(shè)計(jì)的方法和注意點(diǎn)
發(fā)表日期:2016/3/27 8:25:29 文章編輯: 瀏覽次數(shù):3207
響應(yīng)式布局概念
Responsive design,意在實(shí)現(xiàn)不同屏幕分辨率的終端上瀏覽網(wǎng)頁(yè)的不同展示方式。通過(guò)響應(yīng)式設(shè)計(jì)能使網(wǎng)站在手機(jī)和平板電腦上有更好的瀏覽閱讀體驗(yàn)。
經(jīng)過(guò)不停地學(xué)習(xí)和實(shí)踐,如今總結(jié)響應(yīng)式設(shè)計(jì)的方法和注意點(diǎn)。其實(shí)很簡(jiǎn)單。
響應(yīng)式設(shè)計(jì)的步驟
1. 設(shè)置 Meta 標(biāo)簽
大多數(shù)移動(dòng)瀏覽器將html頁(yè)面放大為寬的視圖(viewport)以符合屏幕分辨率。你可以使用視圖的meta標(biāo)簽來(lái)進(jìn)行重置。下面的視圖標(biāo)簽告訴瀏覽器,使用設(shè)備的寬度作為視圖寬度并禁止初始的縮放。在標(biāo)簽里加入這個(gè)meta標(biāo)簽。
[1](user-scalable = no 屬性能夠解決 iPad 切換橫屏之后觸摸才能回到具體尺寸的問(wèn)題。 )
3. 通過(guò)媒介查詢來(lái)設(shè)置樣式 Media Queries
Media Queries 是響應(yīng)式設(shè)計(jì)的核心。
它根據(jù)條件告訴瀏覽器如何為指定視圖寬度渲染頁(yè)面。假如一個(gè)終端的分辨率小于 980px,那么可以這樣寫(xiě):
@media screen and (max-width: 980px) { #head { … } #content { … } #footer { … } }
這里的樣式就會(huì)覆蓋上面已經(jīng)定義好的樣式。
4. 設(shè)置多種試圖寬度
假如我們要設(shè)定兼容 iPad 和 iphone 的視圖,那么可以這樣設(shè)置:
/** iPad **/ @media only screen and (min-width: 768px) and (max-width: 1024px) {} /** iPhone **/ @media only screen and (min-width: 320px) and (max-width: 767px) {}
恩,差不多就這樣的一個(gè)原理。
一些注意的
1. 寬度需要使用百分比
例如這樣:
#head { width: 100% } #content { width: 50%; }
2. 處理圖片縮放的方法
簡(jiǎn)單的解決方法可以使用百分比,但這樣不友好,會(huì)放大或者縮小圖片。那么可以嘗試給圖片指定的最大寬度為百分比。假如圖片超過(guò)了,就縮小。假如圖片小了,就原尺寸輸出。
img { width: auto; max-width: 100%; }
用
::before
和::after
偽元素 +content 屬性來(lái)動(dòng)態(tài)顯示一些內(nèi)容或者做其它很酷的事情,在 css3 中,任何元素都可以使用 content 屬性了,這個(gè)方法就是結(jié)合 css3 的 attr 屬性和 HTML 自定義屬性的功能: HTML結(jié)構(gòu):
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); } }
3. 其他屬性
例如 pre
,iframe
,video
等,都需要和img
一樣控制好寬度。對(duì)于table
,建議不要增加 padding 屬性,低分辨率下使用內(nèi)容居中:
table th, table td { padding: 0 0; text-align: center; } 以上內(nèi)容和代碼來(lái)自:掌心,感謝,歡迎查看我之前做過(guò)的響應(yīng)式設(shè)計(jì):查看演示
更多資源
Morten Hjerde和他的同事們對(duì)2005至2008年市場(chǎng)中的400余種移動(dòng)設(shè)備進(jìn)行了統(tǒng)計(jì)(查看報(bào)告),下圖展示了大致的統(tǒng)計(jì)結(jié)果:
打造布局結(jié)構(gòu)
我們可以監(jiān)測(cè)頁(yè)面布局隨著不同的瀏覽環(huán)境而產(chǎn)生的變化,如果它們變的過(guò)窄過(guò)短或是過(guò)寬過(guò)長(zhǎng),則通過(guò)一個(gè)子級(jí)樣式表來(lái)繼承主樣式表的設(shè)定,并專門(mén)針對(duì)某些布局結(jié)構(gòu)進(jìn)行樣式覆寫(xiě)。我們來(lái)看下代碼示例:
/* Default styles that will carry to the child style sheet */html,body{ background... font... color... }h1,h2,h3{}p, blockquote, pre, code, ol, ul{}/* Structural elements */#wrapper{ width: 80%; margin: 0 auto; background: #fff; padding: 20px; }#content{ width: 54%; float: left; margin-right: 3%; }#sidebar-left{ width: 20%; float: left; margin-right: 3%; }#sidebar-right{ width: 20%; float: left; }
下面的代碼可以放在子級(jí)樣式表Mobile.css中,專門(mén)針對(duì)移動(dòng)設(shè)備進(jìn)行樣式覆寫(xiě):
#wrapper{ width: 90%; }#content{ width: 100%; }#sidebar-left{ width: 100%; clear: both; /* Additional styling for our new layout */ border-top: 1px solid #ccc; margin-top: 20px; }#sidebar-right{ width: 100%; clear: both; /* Additional styling for our new layout */ border-top: 1px solid #ccc; margin-top: 20px; }
大致的視覺(jué)效果如下圖所示:
圖中上半部分是大屏幕設(shè)備所顯示的完整頁(yè)面,下面的則是該頁(yè)面在小屏幕設(shè)備的呈現(xiàn)方式。頁(yè)面HTML代碼如下:
Media Queries
Ethan的文章中的“Meet the media query”部分有更多的范例及解釋。更有效率的做法是,將多個(gè)media queries整合在一個(gè)樣式表文件中
/* Smartphones (portrait and landscape) ----------- */@media only screenand (min-device-width : 320px)and (max-device-width : 480px) {/* Styles */}/* Smartphones (landscape) ----------- */@media only screenand (min-width : 321px) {/* Styles */}/* Smartphones (portrait) ----------- */@media only screenand (max-width : 320px) {/* Styles */}
這里有一個(gè)免費(fèi)模板:http://stuffandnonsense.co.uk/projects/rock-hammer/
查看演示:http://malarkey.github.io/Rock-Hammer/#panel-forms-hidden
以上來(lái)自譯文:Be For Web
-
響應(yīng)式網(wǎng)站設(shè)計(jì)
日期:2015-07-28 瀏覽次數(shù):2665
-
免費(fèi)SSL證書(shū)申請(qǐng)網(wǎng)站topssl.cn上線
日期:2024-09-23 瀏覽次數(shù):1890
-
如何在北京順義尋找一個(gè)踏實(shí)的網(wǎng)站建設(shè)公司
日期:2023-08-10 瀏覽次數(shù):4951
-
順義網(wǎng)站建設(shè):北京順義網(wǎng)站建設(shè)的優(yōu)點(diǎn)
日期:2023-05-25 瀏覽次數(shù):5332
-
選擇網(wǎng)站公司需要考慮哪些因素
日期:2023-05-25 瀏覽次數(shù):4177
-
北京模板建站
日期:2023-03-28 瀏覽次數(shù):4388
-
互聯(lián)網(wǎng)技術(shù)的現(xiàn)在和未來(lái)
日期:2019-01-28 瀏覽次數(shù):2584
-
每個(gè)網(wǎng)站設(shè)計(jì)師都需要的設(shè)計(jì)概念
日期:2019-04-12 瀏覽次數(shù):2472
-
公司通過(guò)博客犯下的常見(jiàn)錯(cuò)誤
日期:2019-04-18 瀏覽次數(shù):2746
-
獲得更多訪問(wèn)者訪問(wèn)網(wǎng)站的技巧
日期:2019-04-09 瀏覽次數(shù):2248
-
響應(yīng)式網(wǎng)站設(shè)計(jì)的4個(gè)最佳實(shí)踐
日期:2018-12-10 瀏覽次數(shù):2815