实现CSS跨浏览器

来源:互联网 发布:淘宝买东西寄到美国dhl 编辑:程序博客网 时间:2024/06/07 23:01

一、padding和margin

  • 问题:ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反 。
  • 解决方法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none; 另外form默认在IE中也会有margin值,所以最好也将其margin和padding设为0 。

二、cursor

  • 问题:IE中cursor:hand可以将鼠标设为手形,Firefox下不行 。
  • 解决方法:都用cursor:pointer 。

三、单位

  • 问题:任何距离的数值IE可以不加单位,Firefox必须要求写单位(0除外) 。
  • 解决方法:写全单位如padding:0px;

四、高度

  • 问题:如果设置了一个DIV的高度,当DIV里实际内容大于所设高度,IE会自动拉伸以适应DIV容器大小,Firefox会固定DIV的告诉,超过部分超出DIV底线以外,出现和下面的内容重叠的现象
  • 解决方法:控制恰当的高度,或者不写,让浏览器自动调节高度,或者设置overflow:hidden;

五、clear:both

  • 问题:如果上面用float控制了n列DIV,IE下会自动检测自动排列,Firefox下则可能到处乱动。
    解决方法:float结束后的下一个标签加clear:both;以结束float的控制。

六、实际像素

  • IE/Opera:对象的实际宽度 = (margin-left) + width + (margin-right)
  • Firefox/Mozilla: 对象的实际宽度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right)
    所以排列好及列的表格时IE和Firefox显示宽度稍有区别
原创粉丝点击