IE、FF padding-top兼容性问题

再次申明加入文档头的重要性
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

</html>


由于firefox为标准浏览器,所以在有无dtd头的情况下显示都如上图所示


在ie6/7/8中,当存在dtd头的情况下,符合标准,显示同firefox,如上图所示


在无dtd头的情况下,ie6/7/8中则padding会算在height中,如上图所示
以上内容经过firefox3,IE6/7/8验证

所以,DOCTYPE 影响 CSS 处理,一定要加 DOCTYPE声明,才能用W3C的标准处理页面


padding
1.<div style="position:absolute;top:0px;left:0px;padding-top:50px;padding-left:50px;width:100px;height:100px;background:#000;color:#fff;"> test </div>
以上的代码在IE中和firefox会有不同的效果.最主要原因是firefox解释padding-top与IE的效果不同
fixfox的对DIV总高度是padding-top+height的,而IE中,padding-top是包含在height中的,
要解决这一个矛盾,可以利用!important
1.<div style="padding-top:5px;height:10px !important;height:15px;width:200px;background-color:#ffeeee"> test </div>
上面定义了两个height, 其中一个后面加了!important , IE将会忽略这个属性,而使用后面的height:15px;
而firefox却不会忽略这个属性, 直接使用height:10px;
当然也可以使用
1.<div style="padding-top:5px;height:10px;*height:15px;width:200px;background-color:#ffeeee"> test </div>
*height只会被IE6/IE7解析,而FF不会解析*height
Ps:测试后补充说明一点,在IETest中测试IE6的padding-top和FF的解析方式一样,
所以如果使用*height的话还需要添加_height=10px来完善IE6的现实效果,
这样就可以很巧妙的解决这个问题

Padding-left 也存在类似问题

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值