浮動
浮動(float),其目的是為了排版效果孝情,例如文圖環(huán)繞鱼蝉,以及一些兩列,或者三列的布局方式箫荡。
float
值:left | right | none |inherit
初始值: none
應(yīng)用于:所有元素
繼承性:無
計算值:根據(jù)指定確定
浮動遇到問題
在使用浮動過程中魁亦,往往容易碰到兩種問題:
- 父元素坍塌,撐不起父元素羔挡,或者浮動元素溢出父元素
- 浮動元素遮擋了部分內(nèi)容
如何清除浮動
在解決問題清除浮動前洁奈,我們先要明白這樣的兩個概念:
1、浮動是脫離了普通流(Normal flow)的绞灼;字面理解就是漂浮于普通流之上利术,可以左右浮動
2、普通流中的塊級元素高度是由其內(nèi)部普通流元素高度決定的
那么低矮,清除浮動就有以下一些方法:
1印叁、利用clear屬性。
clear屬性值有l(wèi)eft,right,both,none,inherit;應(yīng)用于:塊級元素轮蜕。
例如應(yīng)用clear:left解決上圖中浮動遮擋內(nèi)容的問題昨悼。
2、添加額外標簽跃洛。
我們可以在底部添加一個空白的<div style="clear:both"></div>
,根據(jù)普通流塊級元素特性率触,解決撐不起父元素的問題。
3汇竭、利用:after偽元素
通過對父元素添加after偽元素.father1:after{content:""; display:block;height:0;visibility:hidden; clear:both;}
葱蝗,添加一個看不見的塊元素來清理浮動。
小結(jié)
其實除了上面介紹的三種方法韩玩,還有其他的清除浮動方法垒玲,例如設(shè)置父元素 overflow,在此就不一一枚舉找颓。在不同的環(huán)境選擇適合的方法合愈。通過對上面三種方法比較,個人更傾向于利用:after偽元素清除浮動击狮,保證了整體代碼結(jié)構(gòu)的完整佛析。