CSS3浮動與清除浮動

2021-08-05 21:21:13 字數 1891 閱讀 1324

浮動的設計初衷:實現文字環繞效果。

浮動的特徵:脫離標準文件流,導致父元素高度塌陷,向左或者向右浮動直到遇到其他的浮動元素。

浮動產生的原因:盒子裡的子元素使用了浮動屬性,脫離了文件流,導致父元素無法被撐開。

浮動造成的***:父級的背景無法顯示,父級的邊框無法被撐開,以及父級與子級之間的margin和padding遭到破壞。

清除浮動的方法:

方法一:在底部插入「clear:both」宣告的元素。

原理:在底層元素新增clear屬性來清除浮動,是因為clear屬性不允許被清除浮動的元素的左邊/右邊挨著浮動元素,即清除所有浮動。

方案1:html層面,在浮動元素後面使用乙個空元素,如

缺點:裸露太多的div標籤。

lang="en">

charset="utf-8">

清除浮動title>

type="text/css">

.div_first

.div_second

.div_third

.div_fourth

style>

head>

class="div_first">

class="div_second">

div>

class="div_third">

div>

class="div_fourth">

div>

div>

body>

html>

lang="en">

charset="utf-8">

清除浮動title>

type="text/css">

.div_first

.div_second

.div_third

.clearfix

:after

.clearfix

style>

head>

class="div_first clearfix">

class="div_second">

div>

class="div_third">

div>

div>

body>

html>

其中clearfix可以精簡為:

.clearfix

:after

方法二:讓父元素bfc(ie8+)或者haslayout(ie6/ie7)

bfc:塊狀格式化上下文,特徵:bfc容器是乙個隔離的容器,和其他元素互不干擾;我們可以用觸發兩個元素的bfc來解決垂直邊距摺疊問。bfc可以包含浮動,清除浮動;通常用來解決浮動父元素高度坍塌的問題。

給父元素新增以下屬性來觸發bfc:

例如給父級元素設定overflow:hidden來清除浮動

.div_first

總結:通常使用after偽元素作為清除浮動主要方式。.clearfix只應用在浮動元素的父級元素上。

浮動的注意點:脫離文件流,也就是將元素從普通的布局排版中拿走,其他盒子在定位的時候,會當做脫離文件流的元素不存在而進行定位。需要注意的是,使用float脫離文件流時,其他盒子會無視這個元素,但其他盒子內的文字依然會為這個元素讓出位置,環繞在周圍。而對於使用position:absolute脫離文件流的元素,其他盒子與其他盒子內的文字都會無視它。

CSS3 清除浮動

一 目的 通過本文,讓大家可以明白清除浮動的原理和幾種方法,最後得出一種本文認為最好用的方法。本文也會同步到我的個人 二 內容簡介1 引入,還原浮動本來的意義 2 說明,實際開發中常用浮動來做什麼 3 提問,為什麼要清除浮動 4 回答,如何清除浮動以及常用的幾種方法 5 結論,得出本文認為最好用的方...

css3 清除浮動

eg 三個div,父級div下面有兩個div分別float left和float right 1 style 2.container 3.fl 4.fr 5style 6 body 7 div class container 8 div class fl 向左浮動 div 9 div class f...

CSS清除浮動 清除float浮動

css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...