【问题标题】:Why is CSS3 syntax different across browsers?为什么不同浏览器的 CSS3 语法不同?
【发布时间】:2012-08-20 06:08:31
【问题描述】:

我是 HTML5 和 CSS3 的新手。我刚刚看到一些 CSS3 代码如下:

.box
    {
        border-top-left-radius:5px;
        -webkit-border-bottom-left-radius:5px; 
        -moz-border-top-left-radius:5px;
         border:1px solid #8e8e8e;
         background-color:white;
         height:16px;
         padding:4px;
         padding-left:28px;
         padding-right:10px;
         color:#4a4a4a;
         float:left;

     }

我不明白为什么在使用 -moz 和 -webkit 前缀提到 border-top-left-radius 边界半径之后?不同浏览器的语法是否不同?现在标准化了吗?

【问题讨论】:

    标签: css


    【解决方案1】:

    是的,实验属性的语法可能不同。这完全由供应商决定,因为以供应商为前缀的属性被认为是专有的,而不是标准的一部分。

    特别是,Mozilla 将其称为 -moz-border-radius-topleft,而不是 -moz-border-top-left-radius。您正在查看的代码有误(可能是盲目复制和粘贴声明的结果)。

    此后它已标准化为border-top-left-radius。前缀属性仅用于支持旧版本的浏览器。就此而言,不带前缀的属性应该排在最后,以确保浏览器对属性的最佳/最稳定的实现。

    【讨论】:

      【解决方案2】:

      澄清 BoltClock 所说的:浏览器创建者 Microsoft、Google、Mozilla 等决定在其浏览器中实现 HTML 和 css 的哪些部分。大多数公司希望人们使用他们品牌的浏览器,因为这意味着他们可以提供更好的体验或将您引导到他们自己的专有网站,因此已经开发了新的 CSS-tags 或其他有用的开发工具等额外功能,试图在其他浏览器供应商中获得优势。

      自从 1990 年代推出第一个浏览器以来,这种情况已经持续了很长时间。网景提供了他们自己的功能,而微软进入游戏的时间很晚,很难跟上步伐。在那个时代,浏览器是否是免费的并不确定,为了打造最好的浏览器付出了很多努力,并且出现了不同的功能。后来,当 W3C 出现并开始对 Web 供应商进行标准化的工作时,缓慢但肯定地开始遵守标准。这项工作仍在进行中,很可能需要持续相当长的一段时间。

      coursera 上有一个涉及这个主题的精彩课程。看看吧!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-14
        相关资源
        最近更新 更多