虽然条件注释是一比较理想的做法,向前向后兼容。可惜我不大喜欢N个版本的CSS,
先说下我的自己的用法.
初始化
Selectors{}
保证向后兼容性,
接着开始过滤
不管IE6有没有引进QuirksMode
都用
*htmlSelectors{}
处理IE6和以下版本,
对下再向下版本的区分我做了比较复杂的处理。
用读入IE5.x
@mediatty{
i{content:"";/*""*/}}@import'ie5x.css';/*";}
}/**/
在特别的要求下才会用,因为IE5跟IE5.5很多方面都很像。我选择把他们放在一样。
但是IE5总会相对笨点,
我必须再加区分,是用
*>htmlSelectors{}
本来应该是
*>htmlbodySelectors{}
比较好处理优先权的问题,
IE7对于CSS的支持已经接近FF,Opera,Safari这些浏览器了,但是,总会有些特别的问题,
我选择用
*+htmlSelectors{}
来特别处理IE7,可是当IE7也引进QuirksMode时,问题变得很复杂的,他对CSS的认识也降到IE5,很像,又有不一样滴,我想没找到解决的方式,所以我打死也不把IE7引进QuirksMode
FF也不是标准的。有时还会有特别的问题。
用私有的东东来过,
@namespaceurl(http://www.w3.org/1999/xhtml);
@-moz-documenturl("http://www.loaoao.com"){
Selectors{...!important}
}
Opera呢。虽然通过ACID2
可在我无聊的的写法下~依然有问题像这样的li:hover+li{}不知道下个发布版本会不会解决
还好别人提供了
@mediaalland(min-width:0px){
Selectors{}
}
Safari呢?请原谅我的穷,我没有钱买apple的东西,
我不知道到底会出现多少的问题。这是最最郁闷的事,还好Safari对标准支持很好,
更多过滤的方式可以参考http://centricle.com/ref/css/filters/
不管是用hack还是filter都是痛苦的
解决今天的问题不是为了生产明天的问题。