網(wǎng)站制作分析:響應式頁面的幾個關鍵組成部
而這個項目,卻讓我快速地掌握了響應式頁面重構的一些方法。下面就是通過這個項目來總結我在響應式頁面重構學到的東西。
眾所周知,所謂響應式頁面,就是能夠用一套樣式,使你的頁面能夠在不同分辨率的屏幕下都有很好的表現(xiàn)形式。響應式Web設計,這個概念是Ethan Marctte 在A List Apart 發(fā)表的一篇文章“Responsive Web Design”中援引響應式建筑而得名:
響應式建筑(responsive architecture),物理空間應該可以根據(jù)存在于其中的人的情況進行相應。
根據(jù)我所閱讀過一些文章及資料,我總結出響應式頁面的幾個關鍵組成部分:
1、頁面頭部的meta說明,可以通過viewport meta標簽去讓你的html頁面的的寬度能根據(jù)設備分辨率讓瀏覽器的可視寬度來適應,也可以在這里設置頁面的縮放比例等等,這樣在成比例的分辨率設備下,就可以更簡單地實現(xiàn)響應式。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2、流體布局(fluid grid),所謂的流體布局,其實就是在你pc端實現(xiàn)的頁面基礎上,將一些元素的寬高由原來的固定多少像素(px)調整為百分比(%)或字體比例(em)(或布局方面的margin、padding、left、top等以px為單位的值),這也是當前實現(xiàn)響應式布局的兩種主要實現(xiàn)方法。
第一種用百分比(%),就是以該元素的父容器的寬高為100%,其他元素的寬高相對于其父容器的比例,只要將具體的像素值相對于他的父容器的一個百分比折算即可。當然這種方法的換算有點復雜,因為很多相對的寬高折算的百分比系數(shù)是帶小數(shù)的,所以這時候可能要你有足夠的耐心才能實現(xiàn)。
在Ethan Marctte的Responsive Web Design這篇文章中給出的一個demo中,我們可以看到他的實際代碼里:
@media screen and (max-width: 400px) {
.figure,
li#f-mycroft {
margin-right: 3.317535545023696682%; /* 21px / 633px */
width: 48.341232227488151658%; /* 306px / 633px */ }
第二種方法是用字號比例(em)去實現(xiàn),其實方法是跟上面一樣的,只不過我們將%換成了em,這種方法就是某元素具體的寬高(px)在當前基準字號(font-size)下折算出多少個em。eg: 一個在480分辨率下寬高為64px*64px的元素,其父容器的字號(font-size)為20px,那么它折算成em為單位就是3.2em*3.2em。當其父容器字號基準根據(jù)不同的分辨率變化的時候,該元素的寬高也能根據(jù)這個字號基準成比例的縮放,就能實現(xiàn)響應式變化。
從上面的兩張實例圖我們可以看到,同一個元素,寬高為3.2em*3.2em,在360px分辨率下,因為基準字號為15px,故解析出來的實際尺寸為48px*48px,而在480px分辨率下,基準字號為20px,故實際的尺寸為64px*64px。
3、流體圖片(liquid image),在我所了解的很多資料中,對圖片處理這塊,如果要使圖片能根據(jù)分辨率來適應,而且還不失真,好像挺困難的。但其實我們不用考慮的那么復雜,我們要做的只是讓圖片能根據(jù)不同分辨率自適應罷了,我們不管圖片會不會因為被拉伸而失真,因為真的遇到這樣的情況,我們可以考慮在不同分辨率下使用不同的圖片,這樣就簡單多了。所以讓圖片尺寸自適應,我們只要不給圖片設定具體的寬高尺寸,只要在樣式中給該圖片一個width:100%,這樣圖片就能根據(jù)它父容器的尺寸自動調整了。
4、媒體查詢(media query),這個也是響應式頁面的一個關鍵技術,根據(jù)不同的分辨率去調整一些不同的樣式。
@media screen and (max-device-width: 480px) {
.column {
float:none;
}
通過上面的這樣媒體查詢結構,我們可以設定在不同分辨率下選用不同的樣式來調整響應式頁面。像前面第二點流體布局上,我們使用百分比或字號比例去實現(xiàn)流體布局的時候,第一種方法是可以不用媒體查詢直接實現(xiàn)流體布局的,就是元素的寬高能自適應不同分辨率屏幕。
但第二種方法用字號比例(em)去實現(xiàn)流體布局的時候,我們就必須要結合媒體查詢了,因為我們的字號比例是根據(jù)基準字號來實現(xiàn)的,就是說在基準字號一定的情況下,該元素的大小就是固定的,而我們要實現(xiàn)該元素尺寸自適應,就只能通過調整基準字號來實現(xiàn)了。通過媒體查詢,我們可以讓在基準字號font-size在不同分辨率下不一樣,這樣其子元素相對于該字號的比例em算出來的像素px就不一樣了,這樣就能實現(xiàn)響應式了。
所以我們兼容不同的分辨率的時候,可以先在某個分辨率下,實現(xiàn)完美的重構,然后將所有元素具體的尺寸(px)折算為em(根據(jù)父容器的font-size),然后再通過媒體查詢,調整不同分辨率下的基準字號font-size就能實現(xiàn)具體的響應式了。
當然媒體查詢的功能是根據(jù)不同的分辨率適配不同的樣式,我們可以通過上面的做法是實現(xiàn)流體布局,還可以通過媒體查詢來細調具體的頁面在不同分辨率下的不同表現(xiàn)形式。
在我具體的項目過程中,采用媒體查詢主要是調整不同分辨率下的基準字號的大小,具體如下面的代碼所示:
body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:20px;}
/* for 800 px width screen */
@media only screen and (max-device-width:800px),only screen and (max-width:800px){
body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:33.34px;}
}
/* for 720 px width screen */
@media only screen and (max-device-width:720px),only screen and (max-width:720px){
body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:30px;}
}
前面設置通用字號為20px,當分辨率超過我媒體查詢到的最大屏幕寬度的時候就適配該基準字號,下面分別通過媒體查詢?yōu)榉直媛蕿?00px和720px的設備詳細調整基準字號,(當然在這里你可以增加更多的樣式去調整不同分辨率下的具體表現(xiàn))使頁面在兩個分辨率下都能有比較好的表現(xiàn)。可以發(fā)現(xiàn),在800px的分辨率設備中,我的基準字號設置為33.34px,在720px的分辨率設備下的基準字號為30px。
為什么在800px分辨率下基準字號就為33.34px,在720px分辨率下基準字號為30px呢,這是因為我是先以480px分辨率下基準字號為20px去實現(xiàn)的,那么在800px或720px下的基準字號就根據(jù)設備分辨率的比例去算出。 這里只給出兩個分辨率的例子,其他不同分辨率下的實現(xiàn)方法一樣。
通過上面的幾點關鍵技術,我們就可以實現(xiàn)具體的響應式頁面了??赐赀@篇文章,是不是覺得響應式頁面其實也沒有想象中那么難呢?那么,有空自己去試試吧,只有自己動手實現(xiàn)后才能真正理解其中的奧秘哦!!!
本文發(fā)布于尚品中國企業(yè)網(wǎng)站建設服務商http://www.londe303.com/
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設計風格
-
確認交付使用
-
資料錄入優(yōu)化
-
程序設計開發(fā)
-
后續(xù)跟蹤服務
-
聯(lián)系電話
010-60259772
熱門標簽
- 網(wǎng)站建設
- 食品網(wǎng)站建設
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設
- 研究所網(wǎng)站建設
- 沈陽網(wǎng)站建設
- 廊坊網(wǎng)站建設
- 鄭州網(wǎng)站建設
- 婚紗攝影網(wǎng)站建設
- 手機端網(wǎng)站建設
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設
- 教育網(wǎng)站建設
- 品牌網(wǎng)站建設
- 政府網(wǎng)站建設
- 北京網(wǎng)站建設
- 網(wǎng)站設計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
營銷型網(wǎng)站建設如何規(guī)劃
更快訪問速度、穩(wěn)定的網(wǎng)站運營。Faster access speed,...
2013-11-07 -
網(wǎng)站建設的基本步驟與方法
網(wǎng)站已經(jīng)成為企業(yè)發(fā)展和個人品牌建設的重要之一。然而,對于很多人來說,下...
2024-04-25 -
如何獲得搜索引擎蜘蛛信任達到提升網(wǎng)站排名
如何獲得搜索引擎蜘蛛信任達到提升網(wǎng)站排名第一, 選擇較穩(wěn)定的空間百度蜘...
2012-05-31 -
網(wǎng)站設計都包含什么
網(wǎng)站設計,包含的內容非常多。大體分兩個方面:一方面是網(wǎng)站的延伸設計,包...
2012-07-16 -
css語法結構有哪些
說完XHTML的網(wǎng)站制作基礎知識,下一步將是我們的重頭戲CSS了。而將...
2014-08-04 -
企業(yè)站兩個月內IP從0提升到300解決方案
北京網(wǎng)站建設公司尚品中國2011年10月中旬開始接洽本項目,并且為此項...
2012-02-12
預約專業(yè)咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內容來源自網(wǎng)絡,涉及到的部分文章和圖片版權屬于原作者,本站轉載僅供大家學習和交流,切勿用于任何商業(yè)活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。
4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com