結(jié)果如圖,可以看到中間欄寬度隨著屏幕大小伸縮。
2).使用自身浮動(dòng)法
自身浮動(dòng)法的原理就是使用對(duì)左右使用分別使用float:left和float:right,float使左右兩個(gè)元素脫離文檔流,中間元素正常在正常文檔流中,使用margin指定左右外邊距對(duì)其進(jìn)行一個(gè)定位。
HTML代碼:
<h3>使用自身浮動(dòng)法定位</h3> <p id = "left_self">我是左邊</p> <p id = "right_self">我是右邊</p> <p id = "center_self">我是中間</p>
css代碼:
#left_self,#right_self{ width: 200px;height: 200px; background-color: #ffe6b8 }
#left_self {float: left;}
#right_self{float: right;}
#center_self{margin: 0 210px;height: 200px; background-color: #a0b3d6}
該布局法的好處是受外界影響小,但是不足是 三個(gè)元素的順序,center一定要放在最后,這是和絕對(duì)定位不一樣的地方,center占據(jù)文檔流位置,所以一定要放在最后,左右兩個(gè)元素位置沒(méi)有關(guān)系。當(dāng)瀏覽器窗口很小的時(shí)候,右邊元素會(huì)被擊倒下一行。
3). 圣杯布局
圣杯布局的原理是margin負(fù)值法。使用圣杯布局首先需要在center元素外部包含一個(gè)p,包含p需要設(shè)置float屬性使其形成一個(gè)BFC,并設(shè)置寬度,并且這個(gè)寬度要和left塊的margin負(fù)值進(jìn)行配合,具體原理參考這里。這里對(duì)圣杯布局解釋特別詳細(xì)。
實(shí)現(xiàn)代碼:
<h3>使用margin負(fù)值法進(jìn)行布局</h3> <p id = "wrap"> <p id = "center"></p> </p> <p id = "left_margin"></p> <p id = "right_margin"></p>
CSS代碼:
#wrap{ width: 100%;height: 100px; background-color: #fff;float: left;}
#wrap #center{ margin:0 210px; height: 100px;background-color: #ffe6b8; }
#left_margin,#right_margin{ float: left;width: 200px;height: 100px;background-color: darkorange }
#left_margin {margin-left: -100%; background-color: lightpink}
#right_margin{margin-left: -200px;}
該方法在網(wǎng)站布局中非常常見,也是面試常考點(diǎn),優(yōu)點(diǎn)是三欄相互關(guān)聯(lián),有一定的抗性。需要注意的是,布局中間部分一定要放在前面,左右順序不限制。對(duì)于left快的margin負(fù)值一定要等于wrap的寬度。
三種方法實(shí)現(xiàn)三欄網(wǎng)頁(yè)寬度自適應(yīng)布局方法見下圖。
<p id = "box"> <p id = "left_box"></p> <p id = "center_box"></p> <p id = "right_box"></p> </p>
css樣式:
#box{width:100%;display: flex; height: 100px;margin: 10px;}
#left_box,#right_box{width: 200px;height: 100px; margin: 10px; background-color: lightpink}
#center_box{ flex:1; height: 100px;margin: 10px; background-color: lightgreen}
注意: center一定要放到中間。
效果圖如下:
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn