当前位置:首页 >> 网络编程

在到达无H无F境界前~还是要痛苦~我兼容浏览器的CSS

对着多个解析不一样浏览器是件郁闷的事,是所有写CSS的人都会遇到的。
虽然条件注释是一比较理想的做法,向前向后兼容。可惜我不大喜欢N个版本的CSS,

先说下我的自己的用法.
初始化
Selectors{}
 保证向后兼容性,
接着开始过滤
不管IE6有没有引进Quirks Mode
都用
 * html Selectors{} 
处理IE6和以下版本,
对下再向下版本的区分我做了比较复杂的处理。
用读入IE5.x

@media tty {
i{content:"\";/*" "*/}} @import 'ie5x.css'; /*";}
}/* */

在特别的要求下才会用,因为IE5跟IE5.5很多方面都很像。我选择把他们放在一样。
但是IE5总会相对笨点,
我必须再加区分,是用

*>html Selectors{} 

本来应该是
*>html body Selectors{} 
比较好处理优先权的问题,

IE7对于CSS的支持已经接近FF,Opera,Safari这些浏览器了,但是,总会有些特别的问题,
我选择用 
*+html Selectors{} 
来特别处理IE7,可是当IE7也引进Quirks Mode时,问题变得很复杂的,他对CSS的认识也降到IE5,很像,又有不一样滴,我想没找到解决的方式,所以我打死也不把IE7引进Quirks Mode

FF也不是标准的。有时还会有特别的问题。
用私有的东东来过,

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url("http://www.loaoao.com") {
Selectors{ ... !important} 
}

Opera 呢。虽然通过ACID2 
可在我无聊的的写法下~依然有问题像这样的 li:hover+li {} 不知道下个发布版本会不会解决
还好别人提供了

@media all and (min-width: 0px){
Selectors{}
}

Safari 呢?请原谅我的穷,我没有钱买apple的东西,
我不知道到底会出现多少的问题。这是最最郁闷的事,还好Safari对标准支持很好,
更多过滤的方式可以参考 http://centricle.com/ref/css/filters/ 


不管是用hack还是filter 都是痛苦的
解决今天的问题不是为了生产明天的问题。