CSS 3中-webkit-, -moz-, -o-, -ms-这些私有前缀的含义和兼容

时间: 2017-11-21阅读: 3497标签: 兼容

css3作为页面样式的表现语言,增加了很多新的属性,但是部分css3属性在一些浏览器上还处于试验阶段,所以为了有效的显示css3的样式,对应不同的浏览器内核需要不同的前缀声明,例如:

-moz- :Firefox,GEcko引擎
-webkit-: Safari和Chrome,Webkit引擎
-o- :Opera(早期),Presto引擎,后改为Webkit引擎
-ms- :Internet Explorer,Trident引擎


使用这些前缀,才能保证css3的属性在特定浏览器渲染引擎下生效。统一引擎一般不识别其它引擎的前缀,目前移动端的浏览器相对比较统一,都是采用的webkit引擎,所以如果我们只需要兼容移动端,只需要带-webkit-前缀即可。


在使用css3新属性的时候,一般需要把带有前缀的属性放于前面,把不带前缀的版本放到最后一行:

-webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, .5);
-moz-box-shadow: 0 5px 5px rgba(0, 0, 0, .5);
-o-box-shadow: 0 5px 5px rgba(0, 0, 0, .5);
box-shadow: 0 5px 5px rgba(0, 0, 0, .5);

随着浏览器的升级,目前大多数新版本浏览器都已经支持不带前缀的写法了,所以带前缀只是为了兼容低版本,不带前端的才是标准属性。


那么如果想移除这些前缀,同时又满足兼容的办法也是有的。我们可以选择Autoprefixer工具,一个以最好的方式处理浏览器前缀的后处理插件​,无论你是用webpack、gulp、grunt还是fis,它都能完美配合。

使用Autoprefixer你可以完全忘记有CSS前缀这东西,尽管按照最新的W3C规范来正常书写你的CSS而不需要浏览器前缀。像这样:

a {
    display: flex;
}


Autoprefixer使用一个数据库根据当前浏览器的普及度以及属性支持提供给你前缀,输出: 

a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}


X5内核浏览器,video兼容

使用vue-video-player在移动端微信内置浏览器打开,点击视频自动全屏问题。 参考官方 API 是 H5 同层浏览器的原因,可通过设置video属性来处理。

原生js中6种常见的兼容问题以及解决方案

1.键盘检测兼容写方法;2.阻止冒泡事件冒泡的兼容;3.鼠标箭头事件对象的兼容;4.阻止浏览器默认事件兼容;5.获取非行间样式的兼容写法

前端常见的CSS兼容性问题

双倍浮动BUG;表单元素行高不一致;IE6(默认16px为最小)不识别较小高度的标签(一般为10px);图片添加超链接时,在IE浏览器中会有蓝色的边框;最小高度min-height不兼容IE6

谈谈浏览器兼容性问题

为什么浏览器会存在兼容问题?同一浏览器,版本越老,存在bug越多,相对于版本越新的浏览器,对新属性和标签、新特性支持越少。

border-radius:50%,在安卓上存在兼容问题

做移动端开发时为了做适配,通常采用rem作为单位,下面来写一个圆角,相同的代码,有的是正圆,有的不是,ios,pc均显示正常

用JS写个兼容IE8浏览器的类选择器

有时我们项目中会尽量使用原生js,这种情况下连最简单的类选择器可能都要进行兼容性处理。getElementsByClassName是后来引入的,历史不如getElementById和getElementsByTagName。越是新的特性,浏览器的兼容相对就越差。

如何只在IE上加载CSS样式表

IE一直是特殊的一个浏览器,我们可以使用一些方法来指定样式表只在IE浏览器下被加载。IE9以及低于IE9版本 :可以使用条件注释语句来加载特定于ie的样式表。如下所示,使用外部css3样式表。

使用X-UA-Compatible来设置IE浏览器兼容模式

文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。

低版本IE兼容汇总

JSON未定义;IE8下jquery报错:意外地调用了方法或属性访问;IE10以下不支持placeholder属性;IE7、8 parseInt处理0开头字符串异常问题;IE报错缺少标识符、字符串或数字

js强制不使用兼容性视图

在IE8浏览器以后版本,都有一个“兼容性视图”,让不少新技术无法使用。那么如何禁止浏览器自动选择“兼容性视图”,强制IE以最高级别的可用模式显示内容呢?X-UA-Compatible是一个设置IE浏览器兼容模式的属性,在IE8浏览器之后诞生。

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全