因为CSS3还未成为真正的标准,许多浏览器对其的支持程度不同,而且每个浏览器厂商对同一个样式支持的写法也不同,所以要加前缀来达到各个浏览器兼容。css3前缀就是用来确保新属性可以在特定的浏览器渲染引擎下被识别和生效。
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
使用过CSS3属性的同学都知道,CSS3属性都需要带各浏览器的前缀,甚至到现在,依然还有很多属性需要带前缀。这是为什么呢?
浏览器厂商以前就一直在实施CSS3,但它还未成为真正的标准。
因为css3很多属性还没有确定下来,标准规范还没有发布,许多浏览器支持的程度也不同,而且每个浏览器厂商同一个样式支持的写法也不同,所以要加前缀来达到各个浏览器兼容,将来统一了规范就不用写前缀了。
css3前缀就是用来确保这种属性可以在特定的浏览器渲染引擎下被识别和生效。
前缀 | 浏览器 | 内核 |
---|---|---|
-ms- | IE浏览器 | Trident内核 |
-moz- | Firefox | Gecko内核 |
-o- | Opera | Presto内核 |
-webkit- | Chrome和Safari | Webkit内核 |
目前已有很多私有前缀可以不写了,但为了兼容老版本的浏览器,可以仍沿用私有前缀和标准方法,逐渐过渡。
来看一个简单的示例,早期写一个圆角 border-radius ,需要这样写:
.box { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; }
这些是为了兼容老版本的写法,该浏览器不支持新属性而导致用户体验友好度降低;比较新版本的浏览器都支持直接写:border-radius。
使用前缀则能很好地匹配到较低版本的浏览器,并正常显示样式。
(学习视频分享:css视频教程)
以上是为什么css3要加前缀的详细内容。更多信息请关注PHP中文网其他相关文章!