【问题标题】:What does it mean when a css property starts with a dash? [duplicate]css 属性以破折号开头是什么意思? [复制]
【发布时间】:2013-04-23 21:02:51
【问题描述】:

我刚刚从this website 下载了一个css 文件,其中包含-webkit-transform-moz-transform 等属性。破折号是什么意思,在什么情况下需要它?

对于整体而言,短语“供应商前缀”是指 - 或 - 和 - 之间的内容(散发 - 和 -)还是 - 和 - 之间的内容(包括 - 本身)?

换句话说,供应商前缀是指破折号本身还是仅指破折号之间的内容或破折号与它们之间的内容?

【问题讨论】:

标签: css naming-conventions conventions


【解决方案1】:

-webkit--moz- 这里称为vendor prefixes;它们通常表示 CSS 的特定于浏览器的功能,或者正在开发/仍是草案并且还不能被视为标准的功能。当这些功能被“提前”使用时,让它在每个浏览器中工作的唯一方法有时是为每个浏览器提供不同的规则和不同的前缀——这就是你在项目中看到的。这个想法是,最终,该功能将被标准化,浏览器将删除前缀,并且生活将继续。

例如,-webkit-gradient 是在 CSS 中定义渐变的第一种方法,但被完全不同的 linear-gradientradial-gradient 语法所取代。

在确定的标准或全球无前缀浏览器支持之前找出哪些浏览器支持某个功能以及在使用它时需要哪些前缀的便捷方法是Can I Use…

一些常见的前缀是:

  • -webkit- 适用于基于 WebKit 的浏览器,包括 Chrome/Chromium 和 Safari
  • -moz- 用于火狐
  • -ms- 适用于 Internet Explorer(9 及更高版本)
  • -o- 用于 Opera(WebKit 之前)

【讨论】:

    【解决方案2】:

    它们被称为供应商前缀。不同的浏览器有不同的前缀:

    • -webkit- - 基于 Webkit 的浏览器,例如 Safari 和 Chrome
    • -moz- - 基于 Gecko 的浏览器,例如 Firefox
    • -ms- Internet Explorer
    • -o- 基于 Presto 的浏览器,例如 Opera

    供应商前缀用于表示实验性 CSS 功能。当特定属性或规范被认为不稳定并且将来可能会发生变化时,就会使用它们。通过使用前缀,浏览器可以试验该功能,而不会有开发人员使用该属性的风险,并且如果行为或语法发生更改,网站将中断。一旦规范成为最终版本,前缀就会被移除,一些浏览器会移除对前缀版本的支持。

    W3C 的官方指导是,在属性或特性来自的规范达到候选推荐之前,应使用前缀。

    一般的最佳做法是一个接一个地使用所有供应商前缀,最后使用无前缀的版本。

    Mozilla 和 Chrome(现在它们正在迁移到 Blink 引擎)已更改策略,将功能隐藏在标志后面,而不是使用前缀。这意味着除非用户启用该标志,否则该功能将无法使用。

    有关更多信息,请参阅 CSS 工作组的此 wiki 页面:http://wiki.csswg.org/spec/vendor-prefixes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2015-10-05
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2011-06-11
      相关资源
      最近更新 更多