css布局

布局的傳統(tǒng)解決方案,基于盒狀模型垛叨,依賴(lài) display 屬性 + position屬性 + float屬性。它對(duì)于那些特殊布局非常不方便柜某,比如嗽元,垂直居中就不容易實(shí)現(xiàn)。

/* div使用絕對(duì)布局喂击,設(shè)置margin:auto;并設(shè)置top剂癌、left、right翰绊、bottom的值相等即可佩谷,不一定要都是0。 */
.example-1{
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
/* 仍然是絕對(duì)布局监嗜,讓left和top都是50%谐檀,這在水平方向上讓div的最左與屏幕的最左相距50%,垂直方向上一樣裁奇,所以再用transform向左(上)平移它自己寬度(高度)的50%桐猬,也就達(dá)到居中效果了,效果圖和上方相同框喳。 */
.example-2 {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

如果用flex實(shí)現(xiàn)课幕,是這樣的。

/*通過(guò)flex的主軸縱軸上子元素的對(duì)齊方式align-items五垮、justify-content屬性實(shí)現(xiàn)*/
.example-3 {
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
}
/**/
.example-4 {
     display: flex;
     width: 100%;
}
.example-4 .main{
     margin: auto;
}

display

| 值 |描述|
|---|---|---|---|---|
|none|此元素不會(huì)被顯示乍惊。|
|block |此元素將顯示為塊級(jí)元素,此元素前后會(huì)帶有換行符放仗。|
|inline |默認(rèn)润绎。此元素會(huì)被顯示為內(nèi)聯(lián)元素,元素前后沒(méi)有換行符。|
|inline-block |行內(nèi)塊元素莉撇。(CSS2.1 新增的值)|
|list-item| 此元素會(huì)作為列表顯示呢蛤。|
|run-in |此元素會(huì)根據(jù)上下文作為塊級(jí)元素或內(nèi)聯(lián)元素顯示。|
|table| 此元素會(huì)作為塊級(jí)表格來(lái)顯示(類(lèi)似 <table>)棍郎,表格前后帶有換行符其障。|
|inline-table|此元素會(huì)作為內(nèi)聯(lián)表格來(lái)顯示(類(lèi)似 <table>),表格前后沒(méi)有換行符涂佃。|
|inherit|規(guī)定應(yīng)該從父元素繼承 display 屬性的值励翼。|

由display的屬性引出各種布局
頁(yè)面布局的幾種方式

  1. 定位布局(position)
    ??定位布局分為兩種:絕對(duì)定位(absolute)和相對(duì)定位(relative),但是位置是寫(xiě)死的辜荠,很不靈活汽抚,一般只用在頁(yè)面中一些需要固定的小標(biāo)簽上。

  2. 浮動(dòng)布局(float)
    ??相對(duì)于普通文檔流布局伯病,浮動(dòng)布局會(huì)脫離普通文檔流造烁,起初是為了解決圖文信息中圖片與文字沖突的問(wèn)題,應(yīng)用float后午笛,就可以輕松實(shí)現(xiàn)文字環(huán)繞圖像的效果惭蟋。
    ??float會(huì)帶來(lái)一個(gè)問(wèn)題,當(dāng)父元素沒(méi)有設(shè)定高度時(shí)季研,子元素浮動(dòng)敞葛,父元素的高度坍塌為0,解決方法參考:
    ??關(guān)于浮動(dòng)元素float使其父元素高度塌陷的原因及解決方法

  3. 彈性布局(flex)
    ??彈性布局flex(Flexible Box)与涡,十分靈活,避免了傳統(tǒng)css代碼繁復(fù)的問(wèn)題持偏,可以快速實(shí)現(xiàn)垂直居中等效果驼卖。flex布局比較適合一維的,所以在頁(yè)面中適合用來(lái)做局部的布局鸿秆,如導(dǎo)航酌畜、菜單等。教程可參考:
    ??Flex 布局教程:語(yǔ)法篇
    ??Flex 布局教程:實(shí)例篇

  4. 網(wǎng)格布局(grid)
    ??grid是比較新的技術(shù)卿叽,相對(duì)于flex桥胞,grid可以實(shí)現(xiàn)二維布局,從下圖可以看出考婴,目前瀏覽器的支持性還不是太好贩虾,但是在未來(lái)一定會(huì)成為一個(gè)主要的布局方式。

參考教程:
??Grid布局指南:http://www.reibang.com/p/d183265a8dad

  1. Table布局
    ??Table布局是比較早期的技術(shù)沥阱,現(xiàn)在基本已經(jīng)不用缎罢,想了解的可以參考一下教程:
    ??css table布局大法,解決你大部分居中、多列等高策精、左右布局的問(wèn)題

總結(jié)
??如果是面向客戶(hù)舰始,考慮到瀏覽器的兼容問(wèn)題,還是用傳統(tǒng)的display+position+float方式做整體布局咽袜,用flex做局部(導(dǎo)航丸卷、菜單等)的布局。如果是自己實(shí)踐询刹,不面向大眾群體的話(huà)及老,可以多嘗試flex+grid的方法。

適用方式范抓、兼容性
CSS布局的發(fā)展歷程:


image.png

參考資料:

Flex布局原理介紹:http://www.reibang.com/p/c25a41f88705
彈性布局flex的那些坑骄恶,你踩過(guò)多少?:https://baijiahao.baidu.com/s?id=1606138910037135099&wfr=spider&for=pc
幾張 GIF 動(dòng)圖讓你看懂彈性盒模型(Flexbox)如何工作:https://yq.aliyun.com/articles/226495

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匕垫,一起剝皮案震驚了整個(gè)濱河市僧鲁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌象泵,老刑警劉巖寞秃,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異偶惠,居然都是意外死亡春寿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)忽孽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绑改,“玉大人,你說(shuō)我怎么就攤上這事兄一±逑撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵出革,是天一觀的道長(zhǎng)造壮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)骂束,這世上最難降的妖魔是什么耳璧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮展箱,結(jié)果婚禮上旨枯,老公的妹妹穿的比我還像新娘。我一直安慰自己析藕,他們只是感情好召廷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布凳厢。 她就那樣靜靜地躺著,像睡著了一般竞慢。 火紅的嫁衣襯著肌膚如雪先紫。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天筹煮,我揣著相機(jī)與錄音遮精,去河邊找鬼。 笑死败潦,一個(gè)胖子當(dāng)著我的面吹牛本冲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劫扒,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼檬洞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了沟饥?” 一聲冷哼從身側(cè)響起添怔,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贤旷,沒(méi)想到半個(gè)月后广料,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幼驶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年艾杏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盅藻。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡购桑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萧求,到底是詐尸還是另有隱情其兴,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布夸政,位于F島的核電站,受9級(jí)特大地震影響榴徐,放射性物質(zhì)發(fā)生泄漏守问。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一坑资、第九天 我趴在偏房一處隱蔽的房頂上張望耗帕。 院中可真熱鬧,春花似錦袱贮、人聲如沸仿便。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嗽仪。三九已至荒勇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闻坚,已是汗流浹背沽翔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窿凤,地道東北人仅偎。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像雳殊,于是被迫代替她去往敵國(guó)和親橘沥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • https://www.bilibili.com/video/av20340622/ “每一個(gè)不曾起舞的日子夯秃,都是...
    王在花海閱讀 852評(píng)論 0 0
  • 2018年12月勒索病毒疫情分析近年來(lái)勒索病毒的快速興起座咆,給企業(yè)和個(gè)人帶來(lái)了嚴(yán)重的威脅,360互聯(lián)網(wǎng)安全中心針對(duì)勒...
    溪邊的墓志銘閱讀 160評(píng)論 0 0
  • 你是嫁給愛(ài)情的女人嗎寝并?來(lái)瞧瞧箫措! 《關(guān)于愛(ài)情》 文/姚志蕓 每個(gè)女孩從青春年少開(kāi)始, 就向往愛(ài)情衬潦, 長(zhǎng)大后都想嫁給愛(ài)...
    姚志蕓閱讀 87評(píng)論 0 0
  • 2019.1.4咖啡冥想 財(cái)富目標(biāo):2019年3月31之前瑪伊網(wǎng)購(gòu)優(yōu)惠收入三千人民幣斤蔓。 人際關(guān)系:信守承諾,責(zé)任镀岛,...
    冰山軒兒閱讀 171評(píng)論 0 0
  • / 烏魯木齊有兩個(gè)著名的景點(diǎn)弦牡。一個(gè)是天池,另一個(gè)就是白楊溝了漂羊。如果把天池比作天山山脈亭亭玉立的仙女驾锰,那么,白楊溝就...
    湖邊人老劉閱讀 422評(píng)論 0 0