關于DIV多層嵌套的margin-top的BUG發布者:本站 時間:2020-05-16 09:05:20
今天在做登錄頁面的時候發現個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盒模型問題,不推薦使用)
選擇我們,優質服務,不容錯過
1. 優秀的網絡資源,強大的網站優化技術,穩定的網站和速度保證
2. 15年上海網站建設經驗,優秀的技術和設計水平,更放心
3. 全程省心服務,不必擔心自己不懂網絡,更省心。
------------------------------------------------------------
24小時聯系電話:021-58370032