* , ie6,ie7可以识别;
_和- , ie6可以识别;
!important ,表示高优先级,ie7及以上,firefox都支持,ie6认识带!important的样式属性,但不认识!important的优先级;
-webkit- ,针对safari,chrome浏览器的内核CSS写法
-moz-,针对firefox浏览器的内核CSS写法
-ms-,针对ie内核的CSS写法
-o-,针对Opera内核的CSS写法
有两种方法:
1、在同一个CSS样式表中,使用 !important 来定义不同的值以适应Firefox和IE。
例如:
padding: 20px !important/For Firefox/
padding: 10px/For IE/
(注意这里IE6是无法识别,important 这个标记的,但它会识别padding: 20px,所以要在后面加上padding: 10px用来覆盖padding: 20px)这个方法适用于修改少量代码。
2、条件注释。(只对IE浏览器有效)这也是北极冰仔部落格目前使用的方法。先为不同浏览器书写各自的CSS样式,再在head中加入以下的代码以适应不同的IE浏览器版本调用:
注意:
gt: greater than (高于)
lte: less than or equal to (低于或等于)
另外:IE还支持一个非标准的标签:comment
This is not Internet Explorer.
This is Internet Explorer.
IE会自动把此标签中的内容当作注释处理掉。
扩展资料
关于css兼容性问题及一些常见问题
目前主流浏览器的兼容性做的都比较好了,以下主要针对IE6,7的不兼容问题进行解决。
1、有浮动存在时,计算一定要精确,不要让内容的宽高超出我们所设置的宽高,IE6下,内容会撑开设置好的高度。
解决方法:给对应的父级加overflow:hidden但是会有部分被隐藏掉,最好是精确计算宽高再设定。
2、在IE6下有元素浮动时,如果宽度需要由内容撑开,就给里边的块元素都加浮动,正常浏览器不用加浮动。
3、在IE6下元素的高度的小于19px的时候,会被当做19px来处理。
解决办法:添加overflow:hidden
跨浏览器兼容是个永恒的话题,其实只要坚持用CSS的规范书写CSS的代码,就不会产生什么不兼容的问题。 hack针对的是像IE6等那些老版本的浏览器。它们都将会淘汰。而且现在每个浏览器更新的版本中对CSS的解释器都是根据CSS规范编写的。所以以后的CSS兼容问题都将消失。
<style>#wrapper{width: 100px!important/* IE7+FF */width: 80px/* IE6 */}</style>