摘要:優(yōu)化方式二圣杯布局優(yōu)化方式三雙飛翼布局給元素包裹一個(gè)容器處理方式二和三解決方式非常類(lèi)似只是處理的細(xì)節(jié)不一樣具體用那個(gè)都可以一般推薦用前者上面就是實(shí)現(xiàn)的幾種方式細(xì)心同學(xué)應(yīng)該可以看到這兩種方式左右兩列并不會(huì)隨著中間內(nèi)容區(qū)域高度變化而變化。
常用方式羅列
float
absolute
table
flex
grid
floatleftrightcenter
.container { overflow: auto; } .left { width: 200px; float: left; background-color: #1ABC9C; } .right { width: 200px; float: right; background-color: #2ECC71; } .center { margin-left: 200px; margin-right: 200px; background-color: #3498DB; }
上面實(shí)現(xiàn)方式優(yōu)點(diǎn),實(shí)現(xiàn)簡(jiǎn)單兼容性好
缺點(diǎn):根據(jù)渲染的規(guī)則,從上到下,也就是說(shuō)left和right會(huì)優(yōu)先渲染, center部分會(huì)最后渲染.優(yōu)化方式-1
利用負(fù)margin來(lái)完成
center
center
center
center
center
center
center
leftright
.container { overflow: auto; } .left, .right, .center { box-sizing: border-box; } .left { width: 200px; float: left; background-color: #1ABC9C; margin-left: -100%; } .right { width: 200px; float: right; // float:left; background-color: #2ECC71; margin-left: -200px; } .center { float: left; width: 100%; padding-left: 200px; padding-right: 200px; background-color: #3498DB; }
完成前面主要內(nèi)容優(yōu)先加載問(wèn)題,但是又有新問(wèn)題,當(dāng)主體內(nèi)容過(guò)長(zhǎng)的時(shí),發(fā)現(xiàn)背景(邊框、背景圖等等)影響到了兩側(cè)
如果只處理背景問(wèn)題可以使用下面方式.center { background-clip: content-box }
如果有邊框、背景圖片等顯然上面不能滿足。
優(yōu)化方式二 (圣杯布局)center
center
center
center
center
center
center
leftright
.container { margin:0 200px; position: relative; } .left, .right, .center { box-sizing: border-box; } .center { float: left; width: 100%; background-color: #3498DB; } .left { position: relative; left:-200px; float: left; width: 200px; margin-left: -100%; background-color: #1ABC9C; } .right { position: relative; right:-200px; float: right; width: 200px; margin-left: -200px; background-color: #2ECC71; }優(yōu)化方式三: (雙飛翼布局) 給 center 元素包裹一個(gè)容器
center
center
center
center
center
center
center
leftright
.container { overflow: auto; } .left, .right, .center, .center-warpper { box-sizing: border-box; } .center-warpper { float:left; width: 100%; padding-left: 200px; padding-right: 200px; } .center { width: 100%; overflow: auto; background-color: #3498DB; } .left { width: 200px; float: left; background-color: #1ABC9C; margin-left: -100%; } .right { width: 200px; float: right; background-color: #2ECC71; margin-left: -200px; }
處理方式二和三解決方式非常類(lèi)似,只是處理的細(xì)節(jié)不一樣. 具體用那個(gè)都可以一般推薦用前者absolute
center
center
center
center
center
center
center
leftright
.container { position: relative; } .left, .right, .center { box-sizing: border-box; } .center { position: absolute; left: 200px; right: 200px; background-color: #3498DB; } .left { position: absolute; left: 0; width: 200px; background-color: #1ABC9C; } .right { position: absolute; right: 0; float: right; width: 200px; background-color: #2ECC71; }table
leftcenter
center
center
center
center
center
center
right
.container { position: relative; display: table; width: 100%; } .left, .right, .center { box-sizing: border-box; display: table-cell; } .center { background-color: #3498DB; } .left { width: 200px; background-color: #1ABC9C; } .right { width: 200px; background-color: #2ECC71; }flex
leftcenter
center
center
center
center
center
center
right
.container { position: relative; display: flex; width: 100%; } .left, .right, .center { box-sizing: border-box; display: table-cell; } .center { background-color: #3498DB; flex:1; } .left { width: 200px; background-color: #1ABC9C; } .right { width: 200px; background-color: #2ECC71; }Grid
leftcenter
center
center
center
center
center
center
right
.container { position: relative; display: grid; width: 100%; grid-template-columns: 200px auto 200px; } .left, .right, .center { box-sizing: border-box; } .center { background-color: #3498DB; } .left { background-color: #1ABC9C; } .right { background-color: #2ECC71; }
上面就是實(shí)現(xiàn)的幾種方式, 細(xì)心同學(xué)應(yīng)該可以看到 float、absoulut 這兩種方式左右兩列并不會(huì)隨著中間內(nèi)容區(qū)域高度變化而變化。
如果想要?jiǎng)?chuàng)建三列布局中間自適應(yīng),且三列都等高的話選擇 table、flex、Grid;
具體兼容可查閱 兼容性查看
如果有更好的方式,大家可以在評(píng)論區(qū)給出; 一起討論學(xué)習(xí)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/114725.html
摘要:幼圓常見(jiàn)的頁(yè)面布局有幼圓左右寬度固定,中間自適應(yīng)幼圓上下高度固定,中間自適應(yīng)幼圓左寬度固定,右自適應(yīng)幼圓上高度固定,下自適應(yīng),幼圓下邊是我看過(guò)網(wǎng)上的視頻后寫(xiě)出來(lái)的三欄布局左右寬高固定,中間自適應(yīng)幼圓有種布局方常見(jiàn)的頁(yè)面布局有 1、左右寬度固定,中間自適應(yīng); 2、上下高度固定,中間自適應(yīng); 3、左寬度固定,右自適應(yīng); 4、上高度固定,下自適應(yīng), 下邊是我看過(guò)網(wǎng)上的視頻后寫(xiě)出來(lái)的三欄布局-左右寬...
摘要:圣杯布局直接上代碼雙飛翼布局自身浮動(dòng)法絕對(duì)定位法 圣杯布局 直接上代碼:html: css: .middle,.left,.right {float: left;} .middle {width: 100%;} .left {margin-left: -100%; width: 220px; } .right {margin-left: -220px; wi...
摘要:圣杯布局直接上代碼雙飛翼布局自身浮動(dòng)法絕對(duì)定位法 圣杯布局 直接上代碼:html: css: .middle,.left,.right {float: left;} .middle {width: 100%;} .left {margin-left: -100%; width: 220px; } .right {margin-left: -220px; wi...
摘要:上一篇寫(xiě)的是左右寬高固定,中間自適應(yīng),根據(jù)上一篇的內(nèi)容,總結(jié)了下上下寬高固定,中間自適應(yīng)的幾種布局方式,有種布局方式話不多說(shuō),直接上代碼。上一篇寫(xiě)的是左右寬高固定,中間自適應(yīng),根據(jù)上一篇的內(nèi)容,總結(jié)了下上下寬高固定,中間自適應(yīng)的幾種布局方式, 有4種布局方式:? ?position;? ?flex;? ? table;? ?grid; 話不多說(shuō),直接上代碼。 DOCTYPE html> ...
摘要:優(yōu)化方式二圣杯布局優(yōu)化方式三雙飛翼布局給元素包裹一個(gè)容器處理方式二和三解決方式非常類(lèi)似只是處理的細(xì)節(jié)不一樣具體用那個(gè)都可以一般推薦用前者上面就是實(shí)現(xiàn)的幾種方式細(xì)心同學(xué)應(yīng)該可以看到這兩種方式左右兩列并不會(huì)隨著中間內(nèi)容區(qū)域高度變化而變化。 常用方式羅列 float absolute table flex grid float left righ...
閱讀 1481·2021-11-22 13:52
閱讀 1299·2021-09-29 09:34
閱讀 2704·2021-09-09 11:40
閱讀 3035·2019-08-30 15:54
閱讀 1261·2019-08-30 15:53
閱讀 976·2019-08-30 11:01
閱讀 1359·2019-08-29 17:22
閱讀 1953·2019-08-26 10:57