写出主流浏览器内核私有属性的css前缀
主流浏览器内核私有属性的 CSS 前缀如下:
-
-webkit-: 用于基于 WebKit 引擎的浏览器,例如 Safari, 旧版本的 Chrome (现在已经很少需要了), iOS 和 Android 浏览器等。
-
-moz-: 用于基于 Gecko 引擎的浏览器,例如 Firefox.
-
-ms-: 用于基于 Trident 引擎的浏览器,例如 Internet Explorer 和旧版本的 Edge (基于 EdgeHTML).
-
-o-: 用于基于 Presto 引擎的旧版本 Opera. (现代 Opera 基于 Blink,使用 -webkit- 前缀).
现在,大多数情况下你不再需要使用这些前缀。 随着 CSS 标准的成熟,很多曾经需要前缀的属性现在已经被标准化,可以直接使用无前缀版本。 例如 transform
, transition
, animation
等。
如何确定是否需要前缀?
-
查阅 Can I use (caniuse.com): 这是一个非常有用的网站,可以查询 CSS 属性和 HTML 元素的浏览器兼容性,并告诉你是否需要使用前缀以及需要哪些前缀。
-
Autoprefixer: 这是一个 PostCSS 插件,可以自动根据需要添加 CSS 前缀。强烈推荐在你的前端构建流程中使用 Autoprefixer,它可以帮你省去手动添加前缀的麻烦,并确保你的 CSS 样式在不同浏览器中都能正常工作。
示例:
以前,你需要这样写:
.element {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
现在,你只需要这样写:
.element {
transform: rotate(90deg);
}
总而言之,了解这些前缀的含义仍然有用,但实际开发中,应该优先使用无前缀的标准属性,并借助 Can I use 和 Autoprefixer 等工具来确保跨浏览器兼容性。