傳統網頁佈局的三種方式css
網頁佈局的本質——用來CSS來擺放盒子。把盒子擺放在相應的位置html
CSS提供了三種傳統的佈局方式:佈局
普通流(標準流)spa
浮動code
浮動最典型的應用:可讓多個塊級元素一行內排列顯示。orm
網頁佈局第一準則:多個塊級元素縱向排列找標準流,多個塊級元素橫向排列找浮動htm
float屬性用於建立浮動框,將其移動到一邊,直到左邊緣或者有邊緣觸及包含或者另外一個浮動框的邊緣blog
選擇器{float:屬性值;}
屬性值 | 描述 |
---|---|
none | 元素不浮動(默認值) |
left | 元素向左浮動 |
right | 元素向右浮動 |
浮動特性utf-8
浮動案例it
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> *{ margin: 0px; padding: 0px; } .box{ width: 1200px; height: 460px; background-color: gray; margin: 0 auto; } .left{ float: left; width: 230px; height: 460px; background-color: aqua; } .right{ width: 970px; height: 460px; background-color: antiquewhite; float: left; } .box1{ width: 1226px; height: 285px; background-color: #808080; margin: 0 auto; } .box1 li{ width: 296px; height: 285px; background-color: purple; float: left; } </style> </head> <body> <div class="box"> <div class="left">left</div> <div class="right">right</div> </div> <ol class="box1"> <li></li> <li></li> <li></li> <li></li> </ol> </body> </html>
清除浮動
清除浮動的本質是清除浮動元素形成的影響
若是父盒子自己有高度,則不須要清除浮動
清除浮動以後,父級就會根據浮動的自盒子自動檢測高度。父級有了高度,就不會影響下面的標準流
選擇器{ clear:屬性值; }
屬性值 | 描述 |
---|---|
left | 不容許左側右浮動元素 |
right | 不容許右側右浮動元素 |
both | 同時清除左右兩側的浮動元素 |
清除浮動的方法
額外標籤法也稱爲隔牆法,是W3C推薦的作法
父級添加overflow屬性
父級添加:after僞屬性
:after方式是額外標籤的升級版,也是給父級添加
.clearfix:after{ content:""; display:block; height:0; clear:both; visibility:hidden; } .clearfix{ /**IE6\7專有/ *zoom:1; }
父級添加雙僞屬性
.clearfix:before, .clearfix:after{ content:""; display:table; } .clearfix:after{ clear:both; } .clearfix{ /**IE6\7專有/ *zoom:1; }
清除浮動的方法 | 優勢 | 缺點 |
---|---|---|
額外標籤法 | 通俗易懂,書寫方便 | 添加去多無心義的標籤 |
父級overflow:hidden; | 書寫簡單 | 溢出隱藏 |
父級:after僞元素 | 結構語義化正確 | 兼容性問題 |
父級雙僞元素 | 結構語義話正確 | 兼容性問題 |