一本今、在父元素底部加一行代碼
<body>
<div class="content">
<h1>沉默的大多數(shù)</h1>
<p> 我現(xiàn)在寫的東西大體屬于文學(xué)的范疇宰僧,所謂文學(xué),在我看來(lái)就是:先把文章寫好看了再說您市,別的就不用管他媽的觉痛。除了文學(xué),
我想不到有什么地方可以接受我這些古怪想法茵休。賴在文學(xué)上薪棒,可以給自己在圈子中找到一個(gè)立腳點(diǎn)。有這樣一個(gè)立腳點(diǎn)榕莺,就可以攻擊這個(gè)圈子俐芯,攻擊整個(gè)陽(yáng)的世界。</p>
<p>幾年前钉鸯,我在美國(guó)讀書泼各。有個(gè)洋鬼子這樣問我們:你們中國(guó)那個(gè)陰陽(yáng)學(xué)說,怎么一切好的東西都屬陽(yáng)亏拉,一點(diǎn)不給陰剩下扣蜻?當(dāng)然逆巍,她這樣發(fā)問,是因?yàn)樗且粋€(gè)五體不全之陰人莽使。但是這話也有些道理锐极。話語(yǔ)權(quán)屬于陽(yáng)的一方,它當(dāng)然不會(huì)說陰的一方任何好話芳肌。就是夫子也未能免俗灵再,他把婦女和小人攻擊了一通。這句話幾千年來(lái)總被人引用亿笤,但我就沒聽到受攻擊一方有任何回應(yīng)翎迁。人們只是小心提防著不要做小人,
至于怎樣不做婦人净薛,這問題一直沒有解決汪榔。就是到了現(xiàn)代,女變男的變性手術(shù)也是一個(gè)難題肃拜,而且也不宜推廣——這世界上假男人太多痴腌,真男人就會(huì)找不到老婆。</p>
<div style="clear:both;"></div>
</div>
</body>
我們?cè)诟冈氐撞吭黾恿艘恍锌盏?code>div標(biāo)簽燃领,并且為其設(shè)置了樣式clear:both
士聪,這種方法通俗易懂,容易掌握猛蔽。但缺點(diǎn)是添加了無(wú)意義的空標(biāo)簽剥悟,違背了結(jié)構(gòu)表現(xiàn)分離,給后期維護(hù)帶來(lái)了問題曼库。
二区岗、給父元素增加一行CSS
div.content{
float:left;
}
讓父元素也一起浮動(dòng),父元素和子元素又一起排列了凉泄,所以父元素高度就可以恢復(fù)了躏尉,但是這很明顯是一種將錯(cuò)就錯(cuò)的方法蚯根,父元素本來(lái)就不需要浮動(dòng)后众,為了解決高度問題讓父元素浮動(dòng)又會(huì)引發(fā)其他問題。
三颅拦、利用BFC(Block Formatting Content)來(lái)給父元素增加CSS
div.content{
overflow:auto;
}
上面只是一種做法蒂誉,你還可以加display:table-cell;
或display:table-caption;
或display:inline-block;
或position:fixed;
或position:absolute
等等。
使用CSS中after的偽元素
給父元素的div添加一個(gè)clearfix的class類距帅,<div class="content clearfix">
右锨,然后設(shè)置CSS
.clearfix:after{
content: ".";
display: block;
height: 0px;
clear: both;
visibility: hidden;
}
這種方法其實(shí)有點(diǎn)類似于第一種方法,不過這種方法是通過after偽元素來(lái)給父元素末尾添加一個(gè)看不見的clear:both;
的塊元素碌秸,來(lái)達(dá)到清除浮動(dòng)的目的绍移。其中content: ".";
是為了加一段內(nèi)容悄窃,display: block;
是為了讓生成的元素以塊級(jí)元素顯示,占滿剩余空間蹂窖,height: 0px;
是為了避免生成的內(nèi)容避免原有布局的高度轧抗, visibility: hidden;
是為了讓生成的元素不可見。
五瞬测、更優(yōu)雅的改進(jìn)——尼古拉斯大師方法 (現(xiàn)在流行的方法:崦摹!)
.clearfix:after,
.clearfix:before{
content: " ";
display: table;
}
.clearfix:after{
clear: both;
}
上述代碼把display設(shè)置為table月趟,可以創(chuàng)建一個(gè)匿名的表格單元灯蝴,這個(gè)匿名的表格單元可以直接觸發(fā)BFC,然后再直接設(shè)置content: " ";
孝宗,把內(nèi)容設(shè)置為一個(gè)空格穷躁,這樣就節(jié)省了不必要的代碼。加上before對(duì)于清除浮動(dòng)沒有什么必要性碳褒,主要目的是防止瀏覽器頂部的空白崩潰折砸,即是指此盒子的margin-top與上一個(gè)盒子的margin-bottom會(huì)發(fā)生折疊,(在同一個(gè)BFC中兩個(gè)毗鄰的塊級(jí)盒子在垂直方向(和布局有關(guān)系)的margin會(huì)發(fā)生折疊)沙峻。