摘要:了解中屬性的值及其特性,透徹分析問(wèn)題和需求才可以選擇和設(shè)計(jì)最適合的布局解決方案。多列布局在網(wǎng)頁(yè)中非常常見(jiàn)例如兩列布局,多列布局可以是兩列定寬,一列自適應(yīng),或者多列不定寬一列自適應(yīng)還有等分布局等。
了解 CSS 中屬性的值及其特性, 透徹分析問(wèn)題和需求才可以選擇和設(shè)計(jì)最適合的布局解決方案。
多列布局在網(wǎng)頁(yè)中非常常見(jiàn)(例如兩列布局),多列布局可以是兩列定寬,一列自適應(yīng), 或者多列不定寬一列自適應(yīng)還有等分布局等。
定寬-自適應(yīng)有如下布局
float+marginleft
right
right
.left { float: left; width: 100px; } .right { margin-left: 100px /*間距可再加入 margin-left */ }
優(yōu)點(diǎn):容易理解
缺點(diǎn):IE6中會(huì)有3像素的BUG, 解決方法可以在.left 加入 margin-left:-3px。
因?yàn)閘eft是浮動(dòng)元素,right是沒(méi)有浮動(dòng)的,如果right內(nèi)容中有清楚浮動(dòng)就會(huì)產(chǎn)生bug。
/*外層在包裹一個(gè)容器*/left
right
right
兼容性很好,適用于多版本瀏覽器(包括 IE6)但是多了層right-fix的結(jié)構(gòu)。但left不可選擇,被right-fix蓋住。需要設(shè)置left的 position: relative;來(lái)提高層級(jí)。
float+overflow.left{ float: left; width: 100px; margin-right: 20px; } .right{ overflow: hidden; //觸發(fā)BFC }
overflow:hidden使得div產(chǎn)生了BFC 模式(Block Formatting Context)塊級(jí)格式化文本,根據(jù)BFC的布局規(guī)則之一,div那個(gè)產(chǎn)生的BFC區(qū)域不會(huì)與左邊浮動(dòng)的元素所重疊。具體什么是BFC可以看看這篇文章
table.parent { display: table; width: 100%; table-layout: fixed; } .left { display: table-cell; width: 100px; } .right { display: table-cell; /*寬度為剩余寬度*/ }
table 的顯示特性為每列的單元格寬度合一定等與表格寬度。 table-layout: fixed; 可加速渲染,也是設(shè)定布局優(yōu)先。
table-cell 中不可以設(shè)置 margin 但是可以通過(guò) padding 來(lái)設(shè)置間距。
flex.parent{ display: flex ; } .left { width: 100px; margin-right: 20px; } .right{ /*等價(jià)于flex:1 1 0; 增長(zhǎng)因子和收縮因子都為1, 基礎(chǔ)寬度為0,那么剩余寬度都分配給right*/ flex: 1 ; }
flex-item 默認(rèn)為內(nèi)容寬度。
缺點(diǎn): CSS3 兼容性。根據(jù)內(nèi)容判斷,性能會(huì)有問(wèn)題,做小范圍布局,不適合大范圍布局。
.left{ float: left; width: 200px; margin-right: 20px; } .right{ overflow: hidden; //觸發(fā)BFC }table
.parent{ display:table; width: 100%; } .left, .right { display: table-cell; } .left{ width:0.1%; //寫的夠小就行,不寫1px的原因是IE8會(huì)有問(wèn)題 padding-right:20px; } .left p{ width : 200px;} //用內(nèi)部元素?fù)伍_,寬度可以不定flex
.parent{display:flex;} .left{margin-right:20px;} .right{flex:1;}
三列不定寬 + 自適應(yīng) 與兩列的做法一樣
等分布局每一列的寬度和間距均相等。
有如下HTML結(jié)構(gòu)
float1
2
3
4
.parent{ margin-left :-20px; //為父元素增加20px寬度 } .column{ float : left; width: 25%; padding-left : 20px; box-sizing : border-box; }
缺點(diǎn):結(jié)構(gòu)和樣式稍微有點(diǎn)耦合性
.parent-fix{ margin-left :-20px; //為父元素增加20px寬度 } .parent{ display : table; width : 100%; table-layout : fixed; } .column{ float : left; width: 25%; padding-left : 20px; box-sizing : border-box; }fix
.parent{ display : flex; } .column{ flex: 1; } .column+.column{ margin-left: 20px; } //選擇2,3,4等高需求 table
上面自適應(yīng)的table布局就具有登高的布局
flex如上面自適應(yīng)的例子,flex 天然等高
float.parent{ overflow : hidden; } .left, .right{ padding-bottom : 9999px; margin-bottom : -9999px; }
優(yōu)點(diǎn)是兼容性比較好
缺點(diǎn)是偽等高 不是正真意義上的登高
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/115071.html
摘要:了解中屬性的值及其特性,透徹分析問(wèn)題和需求才可以選擇和設(shè)計(jì)最適合的布局解決方案。多列布局在網(wǎng)頁(yè)中非常常見(jiàn)例如兩列布局,多列布局可以是兩列定寬,一列自適應(yīng),或者多列不定寬一列自適應(yīng)還有等分布局等。 了解 CSS 中屬性的值及其特性, 透徹分析問(wèn)題和需求才可以選擇和設(shè)計(jì)最適合的布局解決方案。 多列布局在網(wǎng)頁(yè)中非常常見(jiàn)(例如兩列布局),多列布局可以是兩列定寬,一列自適應(yīng), 或者多列不定寬一列...
摘要:無(wú)名布局自己瞎搞的,簡(jiǎn)單的絕對(duì)定位即可解決問(wèn)題,為啥還要搞什么圣杯和雙飛翼如果你覺(jué)得此文對(duì)你有一定的幫助,可以點(diǎn)擊下方的喜歡收藏備用 showImg(https://segmentfault.com/img/remote/1460000010989115); 我們?cè)谌粘i_發(fā)中經(jīng)常遇到布局問(wèn)題,下面羅列幾種常用的css布局方案話不多說(shuō),上代碼! 以下所有demo的源碼github:htt...
摘要:重點(diǎn)以需求為例說(shuō)明。三左邊不定寬,右邊自適應(yīng)布局需求左側(cè)不定寬,右側(cè)自適應(yīng),間距。五等寬布局解決方案需求多列等寬,并保留間距。 在頁(yè)面開發(fā)中,當(dāng)我們拿到設(shè)計(jì)師給出的UI圖后,首先考慮的就是布局問(wèn)題,而多列布局會(huì)是我們碰到最多的布局問(wèn)題,個(gè)人就匯總了開發(fā)中常見(jiàn)多列布局問(wèn)題的解決方法。按列數(shù)可以分為兩列布局,三列布局,多列布局,其中布局方法中的原理都有類似之處。 目錄 一、定寬+...
摘要:重點(diǎn)以需求為例說(shuō)明。三左邊不定寬,右邊自適應(yīng)布局需求左側(cè)不定寬,右側(cè)自適應(yīng),間距。五等寬布局解決方案需求多列等寬,并保留間距。 在頁(yè)面開發(fā)中,當(dāng)我們拿到設(shè)計(jì)師給出的UI圖后,首先考慮的就是布局問(wèn)題,而多列布局會(huì)是我們碰到最多的布局問(wèn)題,個(gè)人就匯總了開發(fā)中常見(jiàn)多列布局問(wèn)題的解決方法。按列數(shù)可以分為兩列布局,三列布局,多列布局,其中布局方法中的原理都有類似之處。 目錄 一、定寬+...
摘要:重點(diǎn)以需求為例說(shuō)明。三左邊不定寬,右邊自適應(yīng)布局需求左側(cè)不定寬,右側(cè)自適應(yīng),間距。五等寬布局解決方案需求多列等寬,并保留間距。 在頁(yè)面開發(fā)中,當(dāng)我們拿到設(shè)計(jì)師給出的UI圖后,首先考慮的就是布局問(wèn)題,而多列布局會(huì)是我們碰到最多的布局問(wèn)題,個(gè)人就匯總了開發(fā)中常見(jiàn)多列布局問(wèn)題的解決方法。按列數(shù)可以分為兩列布局,三列布局,多列布局,其中布局方法中的原理都有類似之處。 目錄 一、定寬+...
閱讀 1635·2021-10-27 14:13
閱讀 1876·2021-10-11 10:59
閱讀 3374·2021-09-24 10:26
閱讀 1932·2019-08-30 12:48
閱讀 3044·2019-08-30 12:46
閱讀 2038·2019-08-30 11:16
閱讀 1421·2019-08-30 10:48
閱讀 2746·2019-08-29 16:54