• 技术文章 >web前端 >css教程

    Css3属性前为什么要加webkit

    长期闲置长期闲置2021-12-16 15:43:36原创149

    css中因为要兼容不同浏览器的属性支持,浏览器厂商会在属性前加一个私有前缀来支持新属性;前缀为“-webkit-”的属性,能够在以webkit为内核的浏览器中正常使用,例如“safari”和“chrome”浏览器。

    本教程操作环境:windows10系统、CSS3&&HTML5版、Dell G3电脑。

    Css3属性前为什么要加webkit

    CSS3中新增了一些属性,例如box-reduis、box-orient、text-overflow等等,而这些属性在以往的版本中是不存在的,或者不被支持的,因此,针对不同的浏览器,规定其内核名称让它们可以对这些新增属性进行解析。这看上去是一个合理的解释,即-moz-是针对firefox的,-webkit-是针对safari和chrome的。

    在标准还未确定时,部分浏览器已经根据最初草案实现了部分功能,为了与之后确定下来的标准进行兼容,所以每种浏览器使用了自己的私有前缀与标准进行区分,当标准确立后,各大浏览器将逐步支持不带前缀的css3新属性。

    示例如下:

    <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属性前为什么要加webkit的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:css
    上一篇:css3怎样实现旋转加位移动画 下一篇:css3中设置文本的行高属性是什么

    相关文章推荐

    • css3中关键帧是什么• 哪些属于css3层次选择器• css3三大动画属性是什么• css3怎么实现一个旋转的动画• css3实现阴影属性有哪些

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网