比如,webkit内核的浏览器(如Chrome、Safari)使用“-webkit-”前缀,Mozilla内核的浏览器(如Firefox)使用“-moz-”前缀,IE浏览器使用“-ms-”前缀等等。
那么,这些前缀都有什么作用呢?
首先,这些前缀标明了该CSS属性是实验性的,也就是说,各个浏览器厂商还没有形成一个行业标准,为了避免不必要的冲突,各个浏览器为了标识自己的实验性属性,就在前缀里加入自己的标识。
其次,这些前缀也起到了兼容性的作用。当浏览器渲染CSS的时候,如果发现自己无法识别某个CSS属性,它就会忽略该属性,导致渲染效果不符合预期。如果浏览器支持多个前缀,则可以使用多个前缀,这样就可以保证在不同浏览器上都能够正常地渲染。
以下是一个带有浏览器独有前缀的CSS样式表的示例:
.box { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: 2px 2px 5px #ccc; -moz-box-shadow: 2px 2px 5px #ccc; box-shadow: 2px 2px 5px #ccc; -ms-transform: rotate(30deg); -webkit-transform: rotate(30deg); transform: rotate(30deg); }
在上面的示例中,border-radius
和box-shadow
是CSS3新增的两个特性,由于在不同的浏览器中支持程度不同,需要加上厂商前缀来支持浏览器的兼容性。
总之,浏览器独有前缀是CSS中的一种重要语法,可以保证在不同的浏览器中呈现出相同的渲染效果。