CSS理解之Float

1.Float的設(shè)計初衷僅僅是:

實現(xiàn)文字環(huán)繞效果,如下圖所示:

Paste_Image.png

明白了float的設(shè)計初衷崩溪,就可以明白float特有的行為表現(xiàn)了伶唯。

我們都知道惧盹,使用float會產(chǎn)生一定的破壞性,如給子元素設(shè)置浮動會使父元素高度塌陷粹断,其實這不是bug姿染,而是為了實現(xiàn)文字環(huán)繞效果而產(chǎn)生的特性使然。

2.清除浮動的兩大基本方法:

1.給受浮動影響的元素設(shè)置clear:both

2.使父元素形成BFC(IE8+狡汉,是高級瀏覽器特有的一個概念)或haslayout(IE6/IE7私有的概念)

兩種方法的區(qū)別:

  1. clear:與外界還有聯(lián)系盾戴,例如會產(chǎn)生margin重疊的效果
  2. BFC/haslayout(應(yīng)用于父元素):封閉兵多,里面的聲明不會對外界產(chǎn)生影響,例如float不會出現(xiàn)margin重疊衅斩,但也有缺陷怠褐,無法應(yīng)用于所有瀏覽器

代碼示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>clear與margin重疊</title>
</head>

<body>
1.
<div style="background-color: #f5f5f5;">
    ![](http://upload-images.jianshu.io/upload_images/1969310-8b6611e56974ea20.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    <div style="clear:both; margin-bottom:100px;">clear:both;</div>
</div>
<div style="margin-top: 100px;">本文字離圖片的距離是?</div>
<br><br><br><br>2.
<div style="background-color: #f5f5f5; overflow: hidden;">
    ![](http://upload-images.jianshu.io/upload_images/1969310-8b6611e56974ea20.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
</div>
<div style="margin-top: 100px;">本文字離圖片的距離是奠涌?</div>
</body>
</html>

顯示效果:

Paste_Image.png

第一種:浮動元素的底加入div 且設(shè)置clear:both;(本例中margin-top和margin-bottom會發(fā)生重疊)

第二種:在浮動元素的父元素上加入overflow: hidden溜畅,使父元素形成BFC;(本列中 父元素會將整個元素包裹起來慈格,從而不會出現(xiàn)塌陷和重疊顯現(xiàn))

clear的通常應(yīng)用形式:

  1. HTML層面,通常是在塌陷的父容器底部插入具有clear:both聲明的block水平元素峦椰,通常使用<div></div>元素汤功。

方法的不足:添加了多余的裸露的<div></div>標(biāo)簽

  1. CSS層面溜哮,使用after在父元素底部生成一個具有clear:both聲明的偽元素:.clerafix:after{}

方法的不足:對IE6/IE7無效茂嗓。

權(quán)衡后的策略:

IE8以上的瀏覽器使用:

.clearfix:after{content:'';display:table;clear:both;}

IE6/IE7使用.clearfix{*zoom:1;}

注意:切勿濫用.clearfix述吸,它只應(yīng)該應(yīng)用于包含浮動子元素的父級元素上锣笨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末错英,一起剝皮案震驚了整個濱河市隆豹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌判哥,老刑警劉巖塌计,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侯谁,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機伍玖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門串纺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纺棺,你說我怎么就攤上這事邪狞。” “怎么了巨朦?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵糊啡,是天一觀的道長吁津。 經(jīng)常有香客問我,道長梭依,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任邪蛔,我火速辦了婚禮扎狱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匠抗。我一直安慰自己汞贸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布矢腻。 她就那樣靜靜地躺著多柑,像睡著了一般楣责。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秆麸,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天沮趣,我揣著相機與錄音,去河邊找鬼兔毒。 笑死,一個胖子當(dāng)著我的面吹牛迅脐,可吹牛的內(nèi)容都是我干的谴蔑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隐锭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蒂窒?” 一聲冷哼從身側(cè)響起洒琢,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤褐桌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后呛踊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谭网,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡赃春,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了要拂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡搏嗡,死狀恐怖采盒,靈堂內(nèi)的尸體忽然破棺而出蔚润,到底是詐尸還是另有隱情,我是刑警寧澤烦租,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站叉橱,受9級特大地震影響窃祝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粪小,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一糕再、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧殴蹄,春花似錦猾担、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽擅腰。三九已至,卻和暖如春歼争,著一層夾襖步出監(jiān)牢的瞬間渗勘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留取刃,地道東北人瞒津。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓巷蚪,卻偏偏與公主長得像濒翻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子有送,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案淌喻? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 13,751評論 1 92
  • CSS布局模型 布局:將元素以正確的大小擺放在正確的位置上 CSS包含3種基本的布局模型流動模型(Flow)浮動模...
    _空空閱讀 1,040評論 0 4
  • 一裸删,浮動元素有什么特征?對父容器阵赠、其他浮動元素涯塔、普通元素、文字分別有什么影響? 浮動模型是一種可視化格式模型清蚀,浮動...
    DeeJay_Y閱讀 868評論 0 4
  • 這篇文章極好,以至于讓我受益良多,就一字沒有改動的轉(zhuǎn)發(fā)過來一絲冰涼老師的文章 需要注意的是匕荸,display:tab...
    新晉小牛牛閱讀 1,047評論 0 2
  • 浮動定位 BFC 邊距合并 浮動元素 div的順序是HTML代碼中div的順序決定的。 浮動可以理解為讓某個div...
    nianxiaoge閱讀 716評論 0 0