在css3中,前缀用于兼容不同浏览器的属性支持,浏览器厂商会在属性前加一个私有前缀来支持新属性,以webkit为内核的浏览器会在属性前添加“-webkit-”前缀,语法为“-webkit-属性:属性值;”,不同内核的浏览器添加不同的前缀。
本教程操作环境:windows10系统、CSS3&&HTML5版、Dell G3电脑。
css中因为要兼容不同浏览器的属性支持,浏览器厂商会在属性前加一个私有前缀来支持新属性;前缀为“-webkit-”的属性,能够在以webkit为内核的浏览器中正常使用,例如“safari”和“chrome”浏览器。
1、-moz-代表firefox浏览器私有属性
2、-ms-代表ie浏览器私有属性
3、-webkit-代表safari、chrome私有属性
4、-o-代表Opera
这些是为了兼容老版本的写法,比较新版本的浏览器都支持直接写:border-radius。
Internet Explorer 9+ 支持 border-radius 和 box-shadow 属性。
Firefox、Chrome 以及 Safari 支持所有新的边框属性。
对于 border-image:Safari 5 以及更老的版本需要前缀 -webkit-。
Opera 支持 border-radius 和 box-shadow 属性,但是对于 border-image 需要前缀 -o-。
示例如下:
<html> <head> <style> div { width:300px; height:100px; background-color:#ff9900; -moz-box-shadow: 10px 10px 5px #888888; /* 老的 Firefox */ box-shadow: 10px 10px 5px #888888; } </style> </head> <body> <div></div> </body> </html>
为什么要有私有前缀呢?因为制定HTML和CSS标准的组织W3C动作是很慢的。通常,有w3c组织成员提出一个新属性,比如说圆角border-radius,大家都觉得好,但是w3c不会为这个属性制定标准,而是要走很复杂的程序,经过很多审查。
而浏览器商不愿意等那么久,他们觉得一个属性已经够成熟了,就会在浏览器中加入支持。但是避免日后w3c公布标准时有所变更,就会加入一个私有前缀,比如-webkit-border-radius,通过这种方式来提前支持新属性,等到日后w3c公布了标准,border-radius的标准写法确立之后,再让新版的浏览器支持border-radius这种写法。
比方说,Chrome 10是不认border-radius这种写法的,只能用webkit-border-radius,而Chrome12就能认了。于是在写CSS的时候,这样写就能确保Chrome10和Chrome12浏览网页的时候都能够正确显示。
目前已有很多私有前缀可以不写了,但为了兼容老版本的浏览器,可以仍沿用私有前缀和标准方法,逐渐过渡
(学习视频分享:css视频教程)
以上是css3的前缀用法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!