2013-08-23 53 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