文檔流是文檔中可顯示對象在排列時所占用的位置。
1、塊在一排顯示
2、内聯支援寬高
3、預設内容撐開寬度
4、脫離文檔流
5、提升層級半層
每個盒子分為元素層和内容層,元素層包括背景樣式等,在下層,内容層在元素層的上面,浮動提升層級半層,就可以讓該盒子下面的另一個盒子的元素層上移到該盒子下,而内容層則進不去。
4和5什麼差別?
clear:left | right | both | none | inherit;元素的某個方向上不能有浮動元素。
clear:both; 在左右兩側均不允許浮動元素。
1.加高
問題:擴充性不好
2.父級浮動
問題:頁面中所有元素都加浮動,margin左右自動失效(floats bad !)
3.inline-block 清浮動方法:
問題:margin左右auto失效;margin:auto;有元素左右居中的效果。
4.空标簽清浮動
問題:IE6 最小高度 19px;(解決後IE6下還有2px偏差)
5.br清浮動
問題:不符合工作中:結構、樣式、行為,三者分離的要求。
6.after僞類 清浮動方法(現在主流方法)
.clear:after{content:”;display:block;clear:both;}
.clear{zoom:1;}
after僞類: 元素内部末尾添加内容;
:after{content”添加的内容”;} IE6,7下不相容
元素:after{
content:”内容”;
background:”red”;
display:block;
clear:both;
}
可以實作在元素後面添加内容,并設定添加内容的顔色等屬性。
zoom 縮放
a、觸發 IE下 haslayout,使元素根據自身内容計算寬高。
b、FF 不支援;
7.overflow:hidden 清浮動方法;
問題:需要配合 寬度 或者 zoom 相容IE6 IE7;
overflow:hidden:超出父級元素範圍的元素隐藏。
overflow:auto:如果有超出父級元素範圍的元素會加上滾動條。
overflow: scroll | auto | hidden;
overflow:hidden;溢出隐藏(裁刀!)