javascript - -CSS 中的无前缀脚本和前缀

标签 javascript css vendor-prefix

我将 reshape 一个网站并将使用 -prefix-free脚本来消除 CSS 中的前缀。不过,有些 CSS 我不会编辑。此 CSS 确实包含一些前缀。如果我在 CSS 中保留这些前缀,-prefix-free 仍然可以正常工作,或者是否有理由我应该检查 CSS 文件并消除所有前缀?

换句话说:CSS 中的前缀与 -prefix-free 脚本结合使用会破坏或导致奇怪的功能吗?

最佳答案

-prefix-free 将保留样式表中已添加前缀的所有属性。事实上,如果您至少为其指定一个单独的前缀,它不会为同一属性或规则添加其他前缀。

例如,如果您有

-webkit-border-radius: 10px;

那么 -prefix-free 将不会添加 -moz-border-radius对于 4.0 之前的 Firefox 版本,也不会添加无前缀的 border-radius对于任何浏览器。 WebKit 浏览器将照常应用边框半径,因为它们理解 -webkit-border-radius .

如果您希望 -prefix-free 为其他浏览器添加前缀,则需要将其更改为

border-radius: 10px;

因此,这取决于您希望它应用所有必要的前缀的属性。如果您希望 -prefix-free 在任何需要的地方应用前缀,您需要检查样式表并删除已经存在的任何前缀。

当然,请记住,您可能希望为某些属性保留硬编码的前缀,例如 WebKit 特定的伪元素 -webkit-appearance-webkit-text-size-adjust 。同样,这取决于属性(property);您可能需要根据您的布局需求进行研究和决定。

该脚本的主页包含 test drive您可以使用它来预览带前缀和不带前缀的属性的结果。请记住,结果是根据您用于运行测试的浏览器定制的,因此如果您添加 border-radius并在 Firefox 4 或更高版本中运行它,您将不会看到任何变化。但是,如果您放置 -webkit-border-radius相反,无论您使用什么浏览器,您仍然会看到 -prefix-free 在预览 Pane 中保持不变,甚至无需添加 unprefixed 属性。

关于javascript - -CSS 中的无前缀脚本和前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14312880/

相关文章:

css - Edge 有 css 前缀吗?

javascript - Node/Grunt - Autoprefixer - 如何将配置添加到我的 Gruntfile.js 以及如何检查支持的浏览器?

javascript - Jquery UI - 自动完成不是一个函数

javascript - 如何在我当前的 chrome 中使用 puppeteer(保留我的凭据)

jquery - 单击时将带有 ng-class 的类从子级添加到父级

jquery - 使用 jQuery 设置 "width: calc..."的所有供应商前缀版本?

javascript - 数组未发送所有元素,仅获取第一个元素

javascript - 执行scrollTop时闪烁?

php - 如何在输入字段中显示占位符名称而不是值名称

html - 如何选择不在表头中的具有特定类的html表格单元格