将想法与焦点和您一起共享

关于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