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

首頁 > 開發 > CSS > 正文

用clearfix:after消除css浮動解決外部div不能撐開問題

2024-07-11 08:30:50
字體:
來源:轉載
供稿:網友
在寫HTML代碼的時候,創造在Firefox等符合W3C標準的瀏覽器中,如果有一個DIV作為外部容器,內部的DIV如果設置了float樣式,則外部的容器DIV因為內部沒有clear,導致不能被撐開。看下面的例子:

復制代碼
代碼如下:
<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增多而增加高度,要怎么解決呢?

以前我都是用這樣的法子 來解決:

復制代碼
代碼如下:
<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,它會被強制 換一行顯示。所以,我一直在尋找更好的解決措施。

解決的措施:
首先設置這樣的CSS:
CSS代碼:

復制代碼
代碼如下:
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}

然后,我們再修正原本的HTML代碼,讓外部的容器DIV來應用這個CSS:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 囊谦县| 龙口市| 洛隆县| 泰州市| 沭阳县| 鹤壁市| 墨竹工卡县| 眉山市| 平武县| 梁平县| 白河县| 平武县| 怀集县| 庄浪县| 雷州市| 湘阴县| 鸡西市| 双鸭山市| 会昌县| 工布江达县| 含山县| 民和| 肥城市| 肃北| 鹿泉市| 克山县| 辽源市| 博白县| 双柏县| 新巴尔虎左旗| 青河县| 台中县| 农安县| 海盐县| 苍南县| 略阳县| 盘山县| 郯城县| 青冈县| 昔阳县| 磐石市|