2013-08-23 18 views
12

Das Tool autoprefixer ist ein CSS-Postprozessor, der ansonsten naiven Stildeklarationen die korrekten Herstellerpräfixe hinzufügt.Autoprefixer vs LESS/Sass Mixins?

Wie vergleicht dies (in Bezug auf Effektivität und Entwicklererfahrung) mit den von LESS und Sass bereitgestellten Mixins für dasselbe Ziel der Generierung herstellerspezifischer Stile?

+0

Gibt es hier ein tatsächliches Programmierproblem? – cimmanon

+5

SO ist nicht nur für Probleme. Ich stelle eine quantitative Frage über den Unterschied in den Fähigkeiten zwischen zwei Software-Stücken. – Marplesoft

+3

Sie können Autoprefixer mit Sass/LESS verwenden. Autoprefixer für CSS 3 Präfix und Sass für Geschäftslogik. Ich erstelle Autoprefixer genau, um es mit Sass zu verwenden, nicht zu ersetzen :). –

Antwort

4

LESS und Sass haben beide verschiedene Frameworks und Bibliotheken, die Sie in Ihren Workflow integrieren können. Die meisten beinhalten eine Art Prefixing Mixin, so dass Sie wahrscheinlich die gleichen Ergebnisse von beiden Methoden erhalten, und wenn das das Einzige ist Benutze es für, dann wird es wahrscheinlich egal sein, welches du benutzt.

Wo LESS und Sass ihre Kraft bekommen, ist in all den anderen Dingen, die sie tun können, einschließlich der Verschachtelung von Deklarationen, Variablen, Loops und anderen Mixins, die für ein bestimmtes Projekt nicht unbedingt erforderlich sind.

Mit dieser Macht kommt natürlich Unterschiede in der Syntax - Sie beginnen, weg von nativem CSS, einschließlich der Syntax für die Handhabung von Präfixen. In LESS und Sass, wenn Sie Vendor-Präfixe auf etwas haben möchten, gehen Sie im Allgemeinen durch die @mixin Syntax. Dies ist der Hauptunterschied in der "Entwicklererfahrung", den Sie sehen werden, aber wiederum sind LESS und Sass größere Werkzeuge als Autoprefixer, also werden Sie wahrscheinlich die Mixin-Syntax teilweise mit der anderen Syntax kombinieren Änderungen.

Mit anderen Worten - verwenden Sie Tools wie Autoprefixer oder Präfix, wenn Sie nur das Präfix verwenden, und verwenden Sie LESS oder Sass, wenn Sie die anderen Funktionen verwenden möchten.

+4

Autoprefixers und Sachen wie LESS und SASS machen sehr unterschiedliche Dinge. Ersteres fügt nur Präfixe für besseres cross-browser-compat hinzu, während die beiden letzteren CSS_preprocessors_ sind. Wie Sie sagen, können Sie ein Präfix hinzufügen, um bestimmte Eigenschaften in LESS oder SASS zu präfixieren, aber das ist nicht dasselbe wie reines CSS an ein Präfix weiterzugeben. Außerdem haben LESS und SASS überhaupt keine Frameworks oder Bibliotheken, außer Sie meinen, sie sind diese selbst. – Bojangles

+0

@Bojangles - Compass bezeichnet sich selbst als Framework, es könnte auch als "Mixin-Bibliothek" betrachtet werden. Frameless und Bootstrap werden ebenfalls als Frameworks und/oder Bibliotheken betrachtet, die beide in LESS und Sass verfügbar sind. Darauf bezahle ich, von denen sowohl LESS als auch Sass mehrere haben. (Siehe auch: [library (computing)] (http://en.wikipedia.org/wiki/Library_ (computing) - eine Sammlung von Implementierungen eines Verhaltens) – Shauna

+0

Sie erwähnen Compass nicht in Ihrer Antwort Bootstrap und Frameless sind Rahmen für sich selbst, von denen LESS _ist ein Teil von_. LESS noch SASS sind eine "Sammlung von Implementierungen des Verhaltens" - sie sind _preprocessors_ Bitte erhalten Sie Ihre Terminologie richtig – Bojangles