欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

在到达无H无F境界前~还是要痛苦~我兼容浏览器的CSS_经验交流

程序员文章站 2022-04-01 14:48:07
...
对着多个解析不一样浏览器是件郁闷的事,是所有写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 都是痛苦的
解决今天的问题不是为了生产明天的问题。