今天在做登录页面的时候发现个margin-top的bug ;
初始代码如下:
html:
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盒模型问题,不推荐使用)
成都地区优秀IDC服务器托管提供商(创新互联公司).为客户提供专业的托管服务器,四川各地服务器托管,托管服务器、多线服务器托管.托管咨询专线:18980820575
名称栏目:关于DIV多层嵌套的margin-top的BUG
文章分享:
http://6mz.cn/article/schsic.html