• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
web前端开发
博客园    首页    新随笔    联系   管理    订阅  订阅

郁闷,相对定位,宽度与内边距的计算问题

现在大多数WEB重构都应该已经放弃IE5.5及以下浏览器了吧,所以我们不用讨论他的宽度计算的问题。

据我所知,IE6,IE7,火狐及其他几个浏览器的宽度的计算都应该是:

width+padding-left+padding_right

hegiht+padding-top+padding-bottom

可是今天我搞了一个笑话。

帖代码看看:

<div id="box">

   <div id="box_01">绝对定位</div>

   <div id="box_02">浮动内容</div>

   <div id="box_03">浮动内容</div>

</div>

 

如果相在这里使用绝对定位,那么父级box就应该设置相对定位,我们看看样式。

 

#box{position:relative;width:736px;height:300px;margin:0px auto;padding-left:200px;}
#box_01{position:absolute;width:220px;height:300px;top:0;left:0;z-index:888;}
#box_02{height: 300px;width:625px;float:left;z-index:666;}
#box_03{height:300px;width:111px;float:left;}
哈哈,按照理论的角度来说,这样写就正常了,可是通过测试,在IE6下最开始box_01会显示,一刷新页面死活也不出现。
最后通过对box的样式修改,就解决了,修改如下红色处。
#box{position:relative;width:936px;height:300px;margin:0px auto;padding-left:200px;}
原来红色的地方是736px;可是如果想让在IE6下出现绝对定位的内容,这里必须是完整的宽度,不需要管padding-left的值。


posted @ 2008-12-29 17:36  itchina110  阅读(2355)  评论(15)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3