查看完整版本: FF和IE兼容问题讨论

載雲軒 2008-5-11 14:39

FF和IE兼容问题讨论

以下都是我自己弄时候出现问题了去网上搜的,有什么问题大家一起来讨论~

1.FF里,div设置padding会导致width和height增加,IE不会
2.手形光标用cursor: pointer 因为hand只有IE识别
3.在FF中height一定要算好,最好不要随便定义高度,因为如果外面div高度大于里面控件会出现错位,IE不会。但FF可以定义min-height等,IE不识别
4.!important IE不识别,而FF优先识别
这个是非常非常有用的,比如第3个问题,又想有限制高度,又不想让FF错位就可以这样用:#div{height:auto!important;min-height:200px;height:200px;}
又或者第1个问题,可以这样使用:
#div{
padding:5px !important; /*Style for FF*/
padding:3px; /* Style for IE */}
5.FF水平居中可以加 margin:0 auto IE中不起作用
6.margin加倍的问题。
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
解决方案是在这个div里面加上display:inline;
例如:
<div id="float"></div>相应的css为
#float{float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/
}

下面是一个关于IE7的hack,因为我没安IE7,所以也没弄,直接摘下来:
[quote]针对firefox ie6 ie7的css样式
现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,
但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针
对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了。
现在写一个CSS可以这样:
#1 { color: #333; } /* Moz */
* html #1 { color: #666; } /* IE6 */
*+html #1 { color: #999; } /* IE7 */
那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999
可以用”+”来实现只有IE识别的CSS Hack
可能有朋友想到用”_” Hack,但它们是由区别的,因为IE7中是不识别“_”的。所以用+
测试结果:
IE5.5,IE6 ,IE7浏览器都能识别;
FF2.0,Opera 9,Safari 2浏览器不识别。
[/quote]

紫紫 2008-5-12 05:47

em37 厉害厉害,来膜拜一下~~
FF的错位问题,已经折磨死我了~~
万恶的FF~~~em39

原来 !important可以这样用啊,嘻嘻,谢谢~~
页: [1]
查看完整版本: FF和IE兼容问题讨论