2013-08-23 35 views
12

autoprefixer工具是一个CSS后处理器,它将正确的供应商前缀添加到其他“朴素”样式声明中。Autoprefixer vs LESS/Sass mixins?

与产生供应商特定样式的相同目标相比,LESSSass所提供的mixin在效率和开发者体验方面的比较如何?

+0

这里是否存在实际的编程问题? – cimmanon

+5

SO不只是为了解决问题。我在问一个关于两个软件之间功能差异的量化问题。 – Marplesoft

+3

您可以使用带Sass/LESS的Autoprefixer。用于CSS 3前缀的Autoprefixer和用于业务逻辑的Sass。 我创建Autoprefixer准确地使用它与萨斯,而不是取代:)。 –

回答

4

LESS和Sass都有各种框架和库,您可以将它们集成到您的工作流程中,其中大部分都包含某种前缀mixin,因此您很可能会从两种方法中获得相同的结果,并且如果这是唯一的使用它,那么它可能不会影响你使用哪一个。

在LESS和Sass获得他们的力量的地方,他们可以做的所有其他事情,包括声明嵌套,变量,循环和其他mixins,这些可能或不可能是您对给定项目所需的东西。

当然,这种能力带来了语法上的差异 - 您开始摆脱原生CSS,包括处理前缀的语法。在LESS和Sass中,如果您希望在某些方面拥有供应商前缀,则通常需要通过@mixin语法。这是您将要看到的“开发人员体验”中的主要区别,但再次,LESS和Sass是比autoprefixer更大的工具,因此您可能会将mixin语法的部分内容与其他语法变化。

换句话说 - 使用像autoprefixer或prefixr这样的工具,如果你正在使用的是前缀,并且使用LESS或Sass,如果你想使用其他功能。

+4

Autoprefixers和像LESS和SASS这样的东西可以完成不同的事情。前者只是为更好的跨浏览器compat添加前缀,而后者则是CSS _preprocessors_。正如你所说,你可以在LESS或SASS中添加一个mixin来为某些属性添加前缀,但这与将纯CSS传递给前缀不相同。此外,LESS和SASS根本没有任何框架或库,除非你的意思是它们本身就是 – Bojangles

+0

@Bojangles - Compass自称是一个框架,它也可以被认为是“mixin库”。 Frameless和Bootstrap也被认为是框架和/或库,这两者都可以在LESS和Sass中找到。这就是我所指的,其中LESS和Sass都有几个。 (另见:[library(computing)](http://en.wikipedia.org/wiki/Library_(计算) - 一个行为实现的集合) – Shauna

+0

你的答案中没有提到Compass Bootstrap和Frameless本身就是框架,其中LESS是LESS的一部分,LESS也不是SASS是“行为实现的集合” - 它们是_preprocessors_请把你的术语对 – Bojangles