国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS清除浮動 clearfix:after 使用技巧及兼容Firefox等符合W3C標準的瀏

2024-07-11 08:35:03
字體:
來源:轉載
供稿:網友

在寫HTML代碼的時候,發現在Firefox等符合W3C標準的瀏覽器中,如果有一個DIV作為外部容器,內部的DIV如果設置了float樣式,則外部的容器DIV因為內部沒有clear,導致不能被撐開。看下面的例子:

HTML4STRICT代碼:
代碼:


<div style=”border:2px solid red;”>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>CSSBBS</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
</div>

大家可以看到,作為外部容器的邊框為紅色的DIV,沒有被撐開。這是因為內部的DIV因為float:left之后,就丟失了clear:both和display:block的樣式,所以外部的DIV不會被撐開。
我們想讓外部容器的DIV隨著內部DIV增多而增加高度,要怎么解決呢?
以前我都是用這樣的方法來解決:
HTML4STRICT代碼:
代碼:


<div style=”border:2px solid red;”>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”float:left;width:80px;height:80px;border:1px solid blue;”>TEST DIV</div>
<div style=”clear:both;”></div>
</div>

我們看到,在容器DIV內要顯示出來的float:left的所有的DIV之后,我們添加了這樣的一個DIV:<div style="clear:both"></div> 。這樣,其實就在最后增加了clear的動作。
但是,我總覺得,這么多加一個DIV有點不妥。一是多了一個沒有意義的DIV,二是在用dojo做Drag & Drop的時候,由于這個DIV是容器DIV的一個字節點,如果這個節點被移動,則會造成排版上的Bug:如果要顯示的藍框的DIV被移到這個DIV之后,則因為clear:both,它會被強制換一行顯示。所以,我一直在尋找更好的解決辦法。
昨天在無數次的詢問了Google大仙后,我終于找到了How To Clear Floats Without Structural Markup 這篇文章,找到了解決的辦法。
首先設置這樣的CSS:
CSS代碼:
代碼:


.clearfix:after {
content: “.”;
display: block;
height: 0;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永康市| 潮安县| 峨眉山市| 长治市| 黄骅市| 绿春县| 南昌县| 南江县| 邯郸市| 德州市| 长汀县| 汝阳县| 太白县| 韶山市| 鄂尔多斯市| 南澳县| 双鸭山市| 永登县| 偃师市| 东光县| 铜陵市| 宁陕县| 健康| 台安县| 登封市| 大足县| 班戈县| 西宁市| 怀来县| 读书| 安康市| 湘阴县| 东台市| 容城县| 平邑县| 广西| 铁力市| 黄山市| 获嘉县| 沧州市| 萨迦县|