CSS IE7/6 Firefox多浏览器兼容_著…

来源:互联网 发布:二维数组打印杨辉三角 编辑:程序博客网 时间:2024/05/21 00:53

对于CSS当中让IE7、IE6、Firefox兼容最著名且最有用的CSS过滤器之一是星号* Html HACK。这个过滤器非常容易记住,它可以制定IE6和更低版本。正如你知道的,Html元素被认为是网页上的第一个元素,即根元素。但是,IE 的所有当前版本有一个匿名的根元素,它包围着Html元素。那么这个匿名的元素或者说隐藏的元素到底是什么元素呢?其实它就是鼎鼎大名的*号,所以我们可以用星号来指定的规则应用于那些被星号包围的 HTML。

IE6以及更老的IE5.5

* html {
  font-size:small;
}

在任何非ie的浏览器因为没有这个规则(Html元素被*号包围),所以其他的浏览器就会当作看不见,所以当你指定这个规则的时候,你可以放心的应用在IE6以及前一版本的IE5.5要展示效果中。IE7 并没有完全去掉这个 Hack。而是用这样的办法来让过滤,那就是用 *+

IE7

*+html {
  font-size:small
}

这样的表达,就是说除了IE7能认识这个font-size:small以外,其他的浏览器都不会看到这一条的,可以说这是IE7的专属Hack。

这样的方式可以写在同一个CSS文件,并且同时都会针对不同的浏览器产生独特的效果。所以在设计页面或者样式的时候,你不妨用FireFox来做第一浏览器,对照Firefox样式写好后,再把页面放到IE7下看看,进行适当的调整,再放到IE6下面看看,进行适当的调整。基本上按照<div><ul><li></li></ul></ul>的顺序嵌套的话,IE6根IE7的规则是差不多的。调好了IE6的样式就等于调好了IE7的样式,反之亦然。再者,用Firefox来写样式还是更符合W3C一些,因为IE6和IE7要考虑到以前的兼容性,不得不在规范上做些让步,达到兼容的目的。虽然大家都很憎恶为什么多一个Firefox,但是这是没办法的:(。你要掌控它而不是被它掌控了^_^。

基本上用星号搭配搞定IE6,IE7,Firefox以后,像Opera之类的浏览器也会正常显示的。就不用单独考虑他们的兼容问题了。

作者:xddxz
链接:http://www.keephelp.com/css/css-ie-firefox-divcss-6/

0 0
原创粉丝点击