现在的位置: 首页 > 综合 > 正文

IE Firefox css 差别

2012年04月02日 ⁄ 综合 ⁄ 共 1105字 ⁄ 字号 评论关闭
1、单位问题
问题:任何距离的数值ie可以不加单位,ff必须要求写单位(0除外)
解决:写全单位如padding:0px;

2、水平居中
问题:div里的内容,ie默认为center,而ff默认left
解决:mairgin:0px auto;

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

4、clear:both;
问题:如果上面用float控制了n列DIV,下面ie会自动检测自动排列,ff则可能很不老实,到处乱动
解决:float结束后的下一个标签加clear:both;以结束float的控制

5、最大/小宽度问题
问题:min-width,max-width只是ff的命令,如何让ie实现同样的效果
解决:ie不认识min-和max-,实际ie认为min-width、max-width和width效果一样,可以用下面方法解决
#cctext{
min-width: 700px;
max-width: 1000px;
width:expression(document.body.clientWidth<700 ? "700px" : document.body.clientWidth>1000 ? "1000px" : "auto");
}

6、!important支持
问题:ff支持ie不支持
解决:无。ie会忽略。

7、游标状态
问题:cursor:hand;仅ie支持,显示手指状态
解决:使用cursor:pointer;ie和ff都支持

8、实际像素
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和ff显示宽度稍有区别

1、单位问题
和DTD有关,而不是和浏览器有关。如果DTD是XHTML那必须加单位

2、水平居中
没看明白。。不过mairgin:0px auto; 是让div本身居中

4、clear:both;
不老实的是IE,浮动是不会占空间的

5、最大/小宽度问题
可以用hack搞定,_height, _width

6、IE7也支持!important

8.是不是怪异和标准模式?

抱歉!评论已关闭.