【clearfix的作用】
很多網站中都會有一個通用類,其作用是 —— 清除之前的浮動關系,修復在firefox、chrome等標准瀏覽器中子元素全部浮動時,父元素不自動增高的問題。
如下一段來自淘寶的DOM:
<div class="tb-summary clearfix"> .... </div>
【cleafix的CSS定義】
再看這一段clearfix的css代碼,如下:
.clearfix {} .clear:after { content: '\20'; display: block; height: 0; clear: both;
}
【針對clearfix的解釋】
對clearfix本身沒有添加任何內容。只是對.clearfix:after做出一些css屬性定義。:after是對某個元素之后的定義。
.content:'\20\; —— 內容為空
display:block; —— 塊狀顯示
height:0; —— 高度為0
clear:both; —— 清除浮動
那么我理解為:引用了clearfix的元素,其后添加一個塊(內容為空,高度為0,並清除之前的浮動關系)。
【關於IE】
低版的IE不會支持:after,但同樣低版本的IE會自動增高,所以不用寫這一段。如果不放心,增加一個zoom:1屬性也可以。
