響應(yīng)式布局

由于最近想開發(fā)一款響應(yīng)式系統(tǒng)雇卷,之前對于響應(yīng)式都只是略有了解,沒有怎么歸納整理鲸睛,現(xiàn)在來做一個總結(jié)娜饵。

@media媒體查詢

響應(yīng)式布局一定離不開媒體查詢。

media mediatype and|not|only (media feature) {
    CSS-Code;
}
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }

在這里mediatype一般是screen官辈,在這里media feature一般是max-width箱舞、min-width定義的是可見區(qū)域。你也可以針對不同的媒體使用不同 stylesheets :

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

當然在手機端我們一般是會禁止縮放的

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

bootstrap 柵格系統(tǒng)實現(xiàn)

http://v3.bootcss.com/css/#grid

這個開發(fā)工具是基于bootstrap的http://www.layoutit.com的布局工具

bootstrap中是使用float來進行布局拳亿,然后通過偽元素來進行浮動清除

@media (min-width: 992px)
.col-md-4 {
    width: 33.33333333%;
}
@media (min-width: 992px)
.col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 {
    float: left;
}
.row:after, .row:before {
    clear: both;
    display: table;
    content: " ";
}

主流屏幕尺寸定義

/* 超小屏幕(手機褐缠,小于 768px) */
/* 沒有任何媒體查詢相關(guān)的代碼,因為這在 Bootstrap 中是默認的(還記得 Bootstrap 是移動設(shè)備優(yōu)先的嗎风瘦?) */

/* 小屏幕(平板队魏,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }

/* 中等屏幕(桌面顯示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }

/* 大屏幕(大桌面顯示器万搔,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }

圖片

img { max-width: 100%; }

當然還有一種比較巧妙的方式

![](image.jpg)
@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);
    }
}

也就是會根據(jù)不同尺寸胡桨,加載不同的圖片資源,這個方法非常巧妙瞬雹。data-*允許我們可以在HTML元素中存儲一些數(shù)據(jù)昧谊。而且我們可以很方便的通過el.dataset來進行存取刪除等等。

字體

另一個比較重要的就是字體的運用酗捌,em是根據(jù)父元素的font-size來進行計算呢诬,rem是根據(jù)根元素htmlfont-size來進行計算。

html { font-size:100%; }
@media (min-width: 640px) { body {font-size:1rem;} }
@media (min-width:960px) { body {font-size:1.2rem;} }
@media (min-width:1100px) { body {font-size:1.5rem;} }

移動端1px效果

css中的1px并不總是等于物理像素1px胖缤。
在移動端瀏覽器中以及某些桌面瀏覽器中尚镰,window對象有一個devicePixelRatio屬性,它的官方的定義為:設(shè)備物理像素和設(shè)備獨立像素的比例哪廓,也就是 devicePixelRatio = 物理像素 / 獨立像素狗唉。css中的px就可以看做是設(shè)備的獨立像素,所以通過devicePixelRatio涡真,我們可以知道該設(shè)備上一個css像素代表多少個物理像素分俯。例如肾筐,在Retina屏的iphone上,devicePixelRatio的值為2缸剪,也就是說1個css像素相當于2個物理像素吗铐。例如在devicePixelRatio為2的設(shè)備中,我們設(shè)置1px杏节,實際上是有兩個物理像素的唬渗,關(guān)于移動端的1px解決辦法,可以參考這篇文章拢锹。
http://www.cnblogs.com/lunarorbitx/p/5287309.html
http://blog.csdn.net/yuhk231/article/details/53976295

調(diào)試技巧:我們可以通過[]草料二維碼生成器](https://cli.im/)生成二維碼谣妻。然后手機掃碼萄喳,就可以在手機上看到電腦上的頁面卒稳。當然手機和電腦必須要在同一局域網(wǎng)。而且要用IP訪問他巨,也就是將localhost換成你的電腦IP地址充坑。由于我使用的是webpack構(gòu)建的項目,需要進行如下配置:

"dev": "webpack-dev-server -d --hot --inline --colors --progress --env.dev --public --host 0.0.0.0",

然后在webpack-dev-server中配置disableHostCheck: true

devServer: {
    // 配置監(jiān)聽端口
    port: 8080,
    disableHostCheck: true
}

參考資料

http://www.cnblogs.com/lhb25/archive/2013/03/06/making-a-website-responsive-in-3-easy-steps.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末染突,一起剝皮案震驚了整個濱河市捻爷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌份企,老刑警劉巖也榄,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異司志,居然都是意外死亡甜紫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門骂远,熙熙樓的掌柜王于貴愁眉苦臉地迎上來囚霸,“玉大人,你說我怎么就攤上這事激才⊥匦停” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵瘸恼,是天一觀的道長劣挫。 經(jīng)常有香客問我,道長东帅,這世上最難降的妖魔是什么揣云? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮冰啃,結(jié)果婚禮上邓夕,老公的妹妹穿的比我還像新娘刘莹。我一直安慰自己,他們只是感情好焚刚,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布点弯。 她就那樣靜靜地躺著,像睡著了一般矿咕。 火紅的嫁衣襯著肌膚如雪抢肛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天碳柱,我揣著相機與錄音捡絮,去河邊找鬼。 笑死莲镣,一個胖子當著我的面吹牛福稳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瑞侮,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼的圆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了半火?” 一聲冷哼從身側(cè)響起越妈,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钮糖,沒想到半個月后梅掠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡店归,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年阎抒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娱节。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡挠蛉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肄满,到底是詐尸還是另有隱情谴古,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布稠歉,位于F島的核電站掰担,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怒炸。R本人自食惡果不足惜带饱,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧勺疼,春花似錦教寂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轨淌,卻和暖如春迂烁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背递鹉。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工盟步, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人躏结。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓却盘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窜觉。 傳聞我的和親對象是個殘疾皇子谷炸,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

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