关于浏览器兼容性问题

                    转自百度文库: 关于浏览器兼容性问题

制作网页时总会遇到各种浏览器的兼容性问题,工作也有一段时间了,做了一点小总结希望分享给大家,共同进步。

1、 float定位。

Float定位是css排版中的非常重要的手段,属性float值:left、right、none(默认值),当设定了元素向左或者向右浮动时,元素会向其父元素的左侧或右侧靠紧。

在用float的同时我们要注意到

(1)      float元素的父元素不能指定clear属性。

这是因为MaeIE下如果对float的元素父元素使用clear属性,周围的float元素布局就会混乱。

(2)      float元素无比知道那个width属性

很多浏览器在显示未指定width的float元素时会有bug,所以不管float元素的内容如何,一定要为其制定width属性。(注意:制定元素时尽量使用em而不是px)

(3)      float元素不能指定margin和padding的属性

        ie在显示指定了margin和padding的float元素时有bug。你可以再float元素内部嵌套一个div来势之margin和padding,也可以使用hack方法为ie指定特定的值。

(4)      float元素之核的宽度要小于100%

如果float元素的宽度和正好等于100%,为保证大多浏览器显示正常,要是宽度之和小于100

   2、margin加倍的问题。

设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。

解决方案是在这个div里面加上display:inline;

margin:5px;/*IE下理解为10px*/

display:inline;/*IE下再理解为5px*/

 

3、 ie6中莫名出现多余的字符

我遇到的现象是:ie6下有些问题,重复出现在第二行 ,就是某些段落或某些文字的末尾N个字符,他另起一行重复出现,在选选着重复出现的文字时,原有的文字也被选中

解决方法:很简单,在重复出现文字的末尾补N个 就可以。

4、 ie7中正常,但ie8中不正常,div的位置position:absolute在ie8中不起作用

解决方法:设置html兼容ie7,在head下加<meta  http-equiv=”x-ua-compatible”content=”ie=7”>

5、针对ie6、ie7、火狐浏览器

(1)Ie6 、FF对 !important;测试正常

Ie7对!important;可以正确解释。

为了使他们都正常:

#style1{color:#333;}             FF正常显示#333;

*html#style1{color:#666;}         ie6显示#666

*+html#style1{color:#999;}       ie7显示#999

*+html与*html是ie特有的标签,firefox暂不支持,而*+html又为ie7特有的标签。

注意:顺序不能错了。

(2)FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。

(3)在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:

div{margin:30px!important;margin:28px;}

注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:

div{maring:30px;margin:28px}

重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;

(4)IE5 和IE6的BOX解释不一致

IE5下

div{width:300px;margin:0 10px 0 10px;}

div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改

div{width:300px!important;width/**/:340px;margin:0 10px 0 10px}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值