国产探花免费观看_亚洲丰满少妇自慰呻吟_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處于容器外部。浮動元素不會產生外邊距的疊加,所以間接解決了你遇到的問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长岛县| 太湖县| 新乡市| 稻城县| 淮安市| 红河县| 鄄城县| 外汇| 东港市| 甘南县| 会同县| 滕州市| 沁阳市| 东港市| 吴旗县| 永春县| 北辰区| 城口县| 钟祥市| 新竹县| 鹿邑县| 兴业县| 承德市| 松江区| 嘉祥县| 札达县| 工布江达县| 凉城县| 涿州市| 玉田县| 庆云县| 富宁县| 潞西市| 吉首市| 时尚| 万盛区| 德格县| 保德县| 温州市| 延吉市| 禹城市|