【问题标题】:Autoprefixer vs LESS/Sass mixins? [closed]Autoprefixer vs LESS/Sass mixins? [关闭]
【发布时间】:2013-08-26 19:44:39
【问题描述】:

autoprefixer 工具是一个 CSS 后处理器,可将正确的供应商前缀添加到原本“幼稚”的样式声明中。

这与 LESSSass 提供的 mixin 相比(在有效性和开发人员体验方面)如何,以生成特定于供应商的样式的相同目标?

【问题讨论】:

  • 这里有实际的编程问题吗?
  • SO 不仅仅是为了解决问题。我问的是关于两个软件之间功能差异的定量问题。
  • 您可以将 Autoprefixer 与 Sass/LESS 一起使用。用于 CSS 3 前缀的 Autoprefixer 和用于业务逻辑的 Sass。我创建 Autoprefixer 正是为了将它与 Sass 一起使用,而不是替换:)。
  • 我仍然看不到这个问题的“主要基于意见”。感觉人们可以花更多时间回答问题和提供价值,而不是解决人们感兴趣的问题。
  • 这是一篇关于在 Sass 中使用 Autoprefixer(特别是使用 Compass)的好文章。它为使用 Autoprefixer 代替 sass mixins 来管理供应商前缀提供了一个很好的案例。 zell-weekeat.com/compass-vs-autoprefixer

标签: css sass less


【解决方案1】:

LESS 和 Sass 都有各种框架和库,您可以将它们集成到您的工作流程中,其中大多数都包含某种前缀 mixin,因此您很可能从任何一种方法中获得相同的结果,如果这是您唯一使用的东西它用于,那么你使用哪一个可能并不重要。

LESS 和 Sass 的强大之处在于它们可以做的所有其他事情,包括声明嵌套、变量、循环和其他 mixin,这可能是给定项目所需的,也可能不是。

当然,有了这种能力,语法就会有所不同——你开始远离原生 CSS,包括处理前缀的语法。在 LESS 和 Sass 中,如果您想在某些东西上添加供应商前缀,您通常会使用 @mixin 语法。这是您将看到的“开发人员体验”的主要区别,但同样,LESS 和 Sass 是比 autoprefixer 更大的工具,因此您可能会部分采用 mixin 语法并与其他语法打包变化。

换句话说 - 如果您使用的只是前缀,请使用 autoprefixer 或 prefixr 等工具,如果您想使用其他功能,请使用 LESS 或 Sass。

【讨论】:

  • 自动前缀和 LESS 和 SASS 之类的东西做的事情非常不同。前者只是为更好的跨浏览器兼容性添加前缀,而后两个是 CSS 预处理器。正如您所说,您可以添加一个 mixin 来为 LESS 或 SASS 中的某些属性添加前缀,但这与将纯 CSS 传递给前缀器不同。此外,LESS 和 SASS 根本没有任何框架或库,除非您的意思是它们本身就是这些
  • @Bojangles - Compass 称自己是一个框架,它也可以被认为是一个“mixin 库”。 Frameless 和 Bootstrap 也被认为是框架和/或库,它们都在 LESS 和 Sass 中可用。这就是我所指的,LESS 和 Sass 都有几个。 (另见:[库(计算)](en.wikipedia.org/wiki/Library_(computing) - 行为实现的集合)
  • 您在回答中没有提到指南针。 Bootstrap 和 Frameless 本身就是框架,LESS 的一部分。 LESS 和 SASS 都是“行为实现的集合”——它们是 预处理器。请正确使用术语
  • @Bojangles - 我从来没有说过 LESS 或 Sass 库,你确实做到了。我在第一句话中就说过他们库。 Compass 一个库 - 它是一个 mixin 的集合,包括几个处理供应商前缀的。
猜你喜欢
  • 2012-12-26
  • 1970-01-01
  • 2013-06-09
  • 2014-04-29
  • 1970-01-01
  • 2012-11-07
  • 2018-11-12
  • 1970-01-01
  • 2018-03-26
相关资源
最近更新 更多