在css中,clear屬性用於清除浮動,其基本語法格式如下:
選擇器
屬性值
描述left
不允許左側有浮動元素(清除左側浮動的影響)
right
不允許右側有浮動元素(清除右側浮動的影響)
both
同時清除左右兩側浮動的影響
是w3c推薦的做法是通過在浮動元素末尾新增乙個空的標籤例如 style
=」clear:both」
>
div>
,或則其他標籤br等亦可。
優點: 通俗易懂,書寫方便
可以通過觸發bfc的方式,可以實現清除浮動效果。(bfc後面講解)
可以給父級新增: overflow為 hidden|auto|scroll 都可以實現。
優點: **簡潔
缺點: 內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢位的元素。
:after 方式為空元素的公升級版,好處是不用單獨加標籤了
使用方法:
.clearfix:after
.clearfix
/* ie6、7 專有 */
優點: 符合閉合浮動思想 結構語義化正確
缺點: 由於ie6-7不支援:after,使用 zoom:1觸發 haslayout。
注意: content:"." 裡面盡量跟乙個小點,或者其他,盡量不要為空,否則再firefox 7.0前的版本會有生成空格。
使用方法:
.clearfix:before,.clearfix:after
.clearfix:after
.clearfix
優點: **更簡潔
缺點: 由於ie6-7不支援:after,使用 zoom:1觸發 haslayout。
清除浮動方法
簡單地說,浮動是因為使用了float left或float right或兩者都有而產生的浮動,導致樣式缺失或者不正確顯示等問題 1 背景不能顯示 由於浮動產生,如果對父級設定了 css background背景 css背景顏色或css背景,而父級不能被撐開,所以導致css背景不能顯示。2 邊框不能撐...
清除浮動方法及清除浮動原因
div1 盒子裡有left和right 兩個子盒子,div1 有兄弟盒子div2,給left right 盒子新增浮動前效果圖 浮動的屬性雖然方便使用,但是在使用這種屬性時,也存在著一種弊端,那就是當子元素設定了float屬性之後,且父元素的高度沒有設定,而是由子元素支撐起來,則會導致父元素的高度塌...
清除浮動的方法
1 給父元素加height 2 給父元素加浮動 絕對定位 固定定位 3 給父級元素加display inline block 4 給浮動元素下加 clear 5 給浮動元素下加 這個不符合w3c的標準,樣式,結構,行為分離。6 給浮動元素的父級元素加 clear 觸發ie7中的haslayout屬性...