九阔加、HTML5響應式布局

@(HTML5)[相應式布局]

[TOC]

九诀黍、HTML5響應式布局

什么是響應式網(wǎng)頁設(shè)計(布局)

響應式網(wǎng)頁設(shè)計(Responsive Web design,通沉椋縮寫為RWD)是指:頁面的設(shè)計與開發(fā)應當根據(jù)用戶行為以及設(shè)備環(huán)境(系統(tǒng)平臺优幸、屏幕尺寸、屏幕定向等)進行相應的響應和調(diào)整褪猛⊥耍可以說是一種網(wǎng)頁設(shè)計的技術(shù)做法,該設(shè)計可使網(wǎng)站在多種瀏覽設(shè)備(從桌面電腦顯示器到移動電話或其他移動產(chǎn)品設(shè)備)上閱讀和導航伊滋,同時減少縮放碳却、平移和滾動。
響應式網(wǎng)頁設(shè)計就是一個網(wǎng)站能夠兼容多個終端——而不是為每個終端做一個特定的版本笑旺。

響應式布局的實現(xiàn)

1. Meta標簽定義

使用viewport meta標簽在手機上控制布局

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />

隱藏狀態(tài)欄

<meta name="apple-mobile-web-app-status-bar-style" content="blank" />

iPhone會將看起來像是電話號碼的數(shù)字添加鏈接昼浦,需要關(guān)閉

<meta name="format-detection content="telephone=no" />

2.使用Media Queries適配對應樣式

常用于布局的CSS Media Queries

設(shè)備類型

  • all 所有設(shè)備;
  • screen 電腦顯示器筒主;
  • int 打印用紙或打印預覽視圖关噪;
  • ndheld 便攜設(shè)備鸟蟹;
  • 電視機類型的設(shè)備;
  • eech 語意和音頻盒成器使兔;
  • aille 盲人用點字法觸覺回饋設(shè)備建钥;
  • bossed 盲文打印機;
  • ojection 各種投影設(shè)備火诸;
  • tty 使用固定密度字母柵格的媒介锦针,比如電傳打字機和終端荠察。

設(shè)備特性

  • width 瀏覽器寬度置蜀;
  • height 瀏覽器高度;
  • device-width 設(shè)備屏幕分辨率的寬度值悉盆;
  • device-height 設(shè)備屏幕分辨率的高度值盯荤;
  • orientation 瀏覽器窗口的方向縱向還是橫向,當窗口的高度值大于等于寬度時該特性值為portrait焕盟,否則為landscape秋秤;
  • aspect-ratio 比例值,瀏覽器的縱橫比脚翘;
  • device-aspect-ratio 比例值灼卢,屏幕的縱橫比。

實現(xiàn)響應式布局

通過媒體查詢

@media screen and (max-width:320px) { } 
@media screen and (min-width:320px) and (max-width:640px) { }
樣式表也可以引入外部的
@import url("css/demo.css") screen and (min-width:320px) and (max-width:640px);
@media screen and (min-width:640px) { }

當然来农,工作中是使用的外部樣式表

<link rel="stylesheet" type="text/css" href="a.css"  media="screen and (min-width: 1000px)">

<link rel="stylesheet" type="text/css" href="b.css"  media="screen and (min-width: 600px) and (max-width: 1000px)">

<link rel="stylesheet" type="text/css" href="c.css"   media="screen and (max-width: 600px)">

也許鞋真,你需要讓手機的屏幕橫著,比如你在玩王者榮耀

豎屏- 屏幕寬度小于高度
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">

橫屏-屏幕寬度大于高度
<link rel="stylesheet" media="all and (orientation:landscape)" href="portrait.css">

響應式布局缺點和優(yōu)點

  • 優(yōu)點:面對不同分辨率設(shè)備沃于,靈活性強涩咖,能夠快捷地解決設(shè)備顯示適應問題。

  • 缺點:兼容各種設(shè)備時所需工作量大繁莹、效率低下檩互、代碼累贅,會隱藏無用的元素咨演,加載時間延長闸昨,其實這是一種折中性質(zhì)的設(shè)計解決方案,由于多方面元素影響而達不到最佳效果薄风,在一定程度上改變了網(wǎng)站原有的布局結(jié)構(gòu)零院,會出現(xiàn)用戶混淆的情況。

這里有一個很嚴重的缺點

由于PC端和移動終端訪問的是同一個網(wǎng)站村刨,PC端可以不計較流量限制告抄,但是移動端不可能不計較。

這里主要是針對于圖片的使用嵌牺,為適配不同終端機型的屏幕寬度和像素密度打洼,我們一般會使用如下方法設(shè)置圖片的CSS樣式:

<style>
    img{
        max-width:100%;
        height:auto;
    }
</style>

將圖片的最大寬度設(shè)置為100%龄糊,以確保圖像不會超出其父級元素的寬度,如果父級元素的寬度發(fā)生改變募疮,圖片的寬度也隨之改變炫惩,height:auto 可以確保圖片的寬度發(fā)生改變時,圖片的高度會依據(jù)自身的寬高比例進行縮放阿浓。
這樣當我們在移動設(shè)備上訪問響應式網(wǎng)頁里的圖片時他嚷,只是把圖片的分辨率做了縮放,下載的還是PC端的那張大圖芭毙,這樣不僅浪費流量筋蓖,而且浪費帶寬,而且會拖慢網(wǎng)頁的打開速度退敦,嚴重影響用戶的使用體驗粘咖。

解決方案:<picture>

如下栗子中針對不同屏幕寬度加載不同的圖片;當頁面寬度 在320px到640px之間時加載minpic.png侈百;當頁面寬度大于640px時加載middle.png

<picture>
    <source media="(min-width: 320px) and (max-width: 640px)" srcset="img/minpic.png">
    <source media="(min-width: 640px)" srcset="img/middle.png">
    <img src="img/picture.png" alt="this is a picture">
</picture>

如下例子中添加了屏幕的方向作為條件瓮下;當屏幕方向為橫屏方向時加載_landscape.png結(jié)尾的圖片;當屏幕方向為豎屏方向時加載 _portrait.png結(jié)尾的圖片钝域;

<picture>
    <source media="(min-width: 320px) and (max-width: 640px) and (orientation: landscape)" srcset="img/minpic_landscape.png">
    <source media="(min-width: 320px) and (max-width: 640px) and (orientation: portrait)" srcset="img/minpic_portrait.png">
    <source media="(min-width: 640px) and (orientation: landscape)" srcset="img/middlepic_landscape.png">
    <source media="(min-width: 640px) and (orientation: portrait)" srcset="img/middlepic_portrait.png">
    <img src="img/picture.png" alt="this is a picture">
</picture>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讽坏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子例证,更是在濱河造成了極大的恐慌路呜,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件战虏,死亡現(xiàn)場離奇詭異拣宰,居然都是意外死亡,警方通過查閱死者的電腦和手機烦感,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門巡社,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人手趣,你說我怎么就攤上這事晌该。” “怎么了绿渣?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵朝群,是天一觀的道長。 經(jīng)常有香客問我中符,道長姜胖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任淀散,我火速辦了婚禮右莱,結(jié)果婚禮上蚜锨,老公的妹妹穿的比我還像新娘。我一直安慰自己慢蜓,他們只是感情好亚再,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晨抡,像睡著了一般氛悬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耘柱,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天如捅,我揣著相機與錄音,去河邊找鬼帆谍。 笑死伪朽,一個胖子當著我的面吹牛轴咱,可吹牛的內(nèi)容都是我干的汛蝙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼朴肺,長吁一口氣:“原來是場噩夢啊……” “哼窖剑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起戈稿,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤西土,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鞍盗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體需了,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年般甲,在試婚紗的時候發(fā)現(xiàn)自己被綠了肋乍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡敷存,死狀恐怖墓造,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锚烦,我是刑警寧澤觅闽,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站涮俄,受9級特大地震影響蛉拙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彻亲,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一孕锄、第九天 我趴在偏房一處隱蔽的房頂上張望室叉。 院中可真熱鬧,春花似錦硫惕、人聲如沸茧痕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽踪旷。三九已至,卻和暖如春豁辉,著一層夾襖步出監(jiān)牢的瞬間令野,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工徽级, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留气破,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓餐抢,卻偏偏與公主長得像现使,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旷痕,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容