【问题标题】:why no calc() mixin in Compass?为什么 Compass 中没有 calc() mixin?
【发布时间】:2017-06-09 11:28:19
【问题描述】:

我觉得我错过了一些东西,Compass 为需要浏览器前缀的所有其他东西提供了 mixins。我知道 calc() 在现代浏览器中得到广泛支持,但我不能是唯一一个想要最大化兼容性的人吗?

搜索文档一无所获:
http://compass-style.org/search/?q=calc

Bourbon 有一个 calc() mixin,它只添加了 -webkit- 但它已被弃用,我似乎无法找出原因?
http://bourbon.io/docs/#calc

任何帮助将不胜感激,为什么 Compass 中没有 calc() mixin?

【问题讨论】:

  • 是什么让您认为calc 现在需要供应商前缀?如果您想要可靠的供应商前缀,请使用专用的 CSS 预处理器。在任何情况下,使用calc 本身通常是一种代码异味且没有必要。

标签: css sass compass


【解决方案1】:

如果您的目标是包含更多前缀以支持非常旧的浏览器,您应该能够在样式表中使用 calc()(不使用 mixin),Compass 将为您添加前缀。如果您没有获得所需的前缀,则需要调整所需的浏览器支持设置以包含您希望支持的旧版浏览器。

Compass Docs - 调整供应商前缀: http://compass-style.org/help/documentation/tuning-vendor-prefixes/

我没有看到任何证据表明 Compass 过去曾支持 calc() mixin,但如果他们支持,我会假设他们删除了它,因为浏览器对无前缀原生 calc() 的支持非常好。我很确定这就是 Bourbon 将其从图书馆中删除的原因。

您是否考虑过预处理您的值而不是使用 calc()?通过避免浏览器对本地 calc() 的支持有问题或完全不存在的情况,这将真正确保最大的兼容性。

【讨论】:

  • 感谢您提供信息丰富的答案,据我所知,我必须使用 calc() 在同一计算中处理 % 和 px 。有趣的是,Compass 会为不是 mixins 的东西添加前缀,它不会在 calc() 上给我添加前缀,所以我必须弄乱设置
猜你喜欢
  • 2013-07-18
  • 2013-03-03
  • 2015-01-13
  • 1970-01-01
  • 2014-11-19
  • 2014-04-05
  • 1970-01-01
  • 2014-10-21
  • 2011-10-30
相关资源
最近更新 更多