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

首頁 > 開發 > CSS > 正文

DIV多層嵌套margin-top的BUG問題

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

今天在做登錄頁面的時候發現個margin-top的bug ;

初始代碼如下:

html:


復制代碼
代碼如下:
<div class="logo"></div>
<div class="login_text">
<div id="error" class="errorstyle"></div>
</div>

css:


復制代碼
代碼如下:
.errorstyle {
height:20px;
width:225px;
background-color:#FFCCCC;
color:#F00;
font-size:12px;
border:#FF0000 solid 1px;
margin-top:10px; /* 注意這里 */
}

結果發現IE6.IE7正常,ie8,FF顯示錯誤。

癥結:當兩個容器嵌套時,如果外層容器和內層容器之間沒有別的元素,firefox會把內層元素的margin-top作用于父元素。

解決方案:

1、使用浮動來解決,即將子層代碼改為:


復制代碼
代碼如下:
.errorstyle {
height:20px;
width:225px;
background-color:#FFCCCC;
color:#F00;
font-size:12px;
border:#FF0000 solid 1px;
margin-left:90px;
display:inline;
/* 以下代碼修正FF和ie8的margin-top bug */
margin-top:10px;
float:left;
}

2、使用padding-top來解決(因為FF盒模型問題,不推薦使用)

OK,一切都好了~

++++++++++++++++++++++++++++++++++++++++++++++++++

PS:

其實這個是一個外邊距疊加的問題,恰恰firefox跟ie8中是正確的,而ie6、7之中是錯誤的,內部容器的margin與外部疊加,疊加的margin處于容器外部。浮動元素不會產生外邊距的疊加,所以間接解決了你遇到的問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛扎县| 吉首市| 兖州市| 屯昌县| 防城港市| 嘉义市| 乐清市| 公主岭市| 恩平市| 凌源市| 论坛| 保亭| 灵丘县| 大理市| 新源县| 安阳市| 乐清市| 桂东县| 武清区| 孟津县| 依安县| 成安县| 玉门市| 潞城市| 资溪县| 鄱阳县| 离岛区| 南和县| 香格里拉县| 静安区| 东丽区| 兰考县| 周宁县| 万全县| 东方市| 龙州县| 高青县| 台湾省| 佛山市| 黎城县| 桂平市|