您当前的位置: 首页 > 前端教程 > CSS教程 > 关于DIV多层嵌套的margin-top的BUG

关于DIV多层嵌套的margin-top的BUG

作者:xiaoxiao 来源:未知 发布时间: 2013-10-10 16:08 点击:
今天在做登录页面的时候发现个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; bord

关于DIV多层嵌套的margin-top的BUG

    今天在做登录页面的时候发现个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,一切都好了~

分享到:
本文"关于DIV多层嵌套的margin-top的BUG"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4