是否需要写多种浏览器兼容CSS

我会说:不需要!

当然,你需要判断一些问题。

我在 13年 14年早期的时候还会在 CSS 中写入各种兼容代码,一个默认值,一个 -webkit-,一个 -moz-,一个 -o-,甚至会有 -ms-(说的好像 IE 是外人一样)。

到 15年,我重新需要使用过去自己写过的代码,我拿了一些 13年 和 12年底的代码,这个时候我发现这件事是多么的没有必要。

在不久之后火狐会直接支持默认形式,而-o-(欧鹏)已经直接换成了 webkit 内核,IE 的更新迭代在 IE9 已经支持基础常用的 CSS3,因为这个家伙有些特殊性呃,我们还现在说总体代码的区分,对于 IE 的特殊错位当然是得做兼容的,但并不是 -ms-,这点可以参考 针对 IE 的 CSS 写法,只对 IE 生效的 CSS写法

跑题了。

之后我去修正了这个问题,只留下默认形式,其余的兼容前缀都去除。

仅仅是过了一年多,两年,就完全没有意义了这些兼容代码。

你需要判断,Chrome 会率先去除 -webkit- 前缀,它一定会支持默认形式,除了它专用的部分(即 CSS3 标准里并没有的),其它浏览器也会很快的跟进。除了 IE 这个特殊存在,没有自动升级,也跟系统版本挂钩。

尽量少的使用各种特殊前缀,除非你知道这段代码只有这个浏览器会运行,在将来几年也是如此。

现在我的代码基本只有两个例外:一些很少的 -webkit- 特殊效果或动画,以及从 IE9 开始 用 \0 \0\9 解决少数像素偏移问题。

你没有必要还考虑一年前的 Chrome 火狐 欧鹏 它们很快就会消失。你需要考虑将来一年,两年,用户是否还需要这些多余的代码?未来这些浏览器是否还会不支持这些代码?

发布者:seabye

啦啦啦…

留下评论

电子邮件地址不会被公开。 必填项已用*标注