Autoprefixer vs LESS/Sass mixins? [关闭]
Posted
技术标签:
【中文标题】Autoprefixer vs LESS/Sass mixins? [关闭]【英文标题】:Autoprefixer vs LESS/Sass mixins? [closed] 【发布时间】:2013-08-26 19:44:39 【问题描述】:autoprefixer 工具是一个 CSS 后处理器,可将正确的供应商前缀添加到原本“幼稚”的样式声明中。
这与 LESS 和 Sass 提供的 mixin 相比(在有效性和开发人员体验方面)如何,以生成特定于供应商的样式的相同目标?
【问题讨论】:
这里有实际的编程问题吗? SO 不仅仅是为了解决问题。我问的是关于两个软件之间功能差异的定量问题。 您可以将 Autoprefixer 与 Sass/LESS 一起使用。用于 CSS 3 前缀的 Autoprefixer 和用于业务逻辑的 Sass。我创建 Autoprefixer 正是为了将它与 Sass 一起使用,而不是替换:)。 我仍然看不到这个问题的“主要基于意见”。感觉人们可以花更多时间回答问题和提供价值,而不是解决人们感兴趣的问题。 这是一篇关于在 Sass 中使用 Autoprefixer(特别是使用 Compass)的好文章。它为使用 Autoprefixer 代替 sass mixins 来管理供应商前缀提供了一个很好的案例。 zell-weekeat.com/compass-vs-autoprefixer 【参考方案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 的集合,包括几个处理供应商前缀的。以上是关于Autoprefixer vs LESS/Sass mixins? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章