[zz]CSS clearfix 清除浮動

來源:互聯網
上載者:User

在很長一段時間裡面,如果一個容器內有浮動元素的話,我習慣在父容器閉合前加一個 clear:both 元素,用於清除浮動,使父容器撐起。如下面得例子:

<style media="all">.children {float:left;}.fixed {clear:both;}</style><div class="parent">    <div class="children">子項目</div>    <div class="children">子項目</div>    <div class="children">子項目</div>    <div class="fixed"></div></div>

但是添加一個並沒有實質內容的標籤並不符合簡化頁面結構的目的,而且在 JavaScript 操作子項目時很容易引起 bug。

如果要在不增加 fixed 元素的情況下清除 parent 容器內的浮動,我們可以利用 :after 偽類。 :after 偽類在 W3C 裡的定義是:在 :after 元素的內容末尾插入 content 的內容,這些內容預設為 inline 級

在使用 :after 偽類後,完整的清浮動 CSS 為:

.clearfix:after {     visibility: hidden;     display: block;     font-size: 0;     content: " ";     clear: both;     height: 0;}.clearfix { display: inline-block; }html[xmlns] .clearfix { display: block; }* html .clearfix { height: 1%; }

使用上面的樣式後,只需為 parent 元素增加一個 clearfix 的class,即可去掉裡面的 fixed 子容器。並且相容目前幾乎所有的 網頁瀏覽器。

Source:http://www.codecto.com/2011/02/css-clearfix-float/

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.