Ich bin ziemlich neu zu Less und ich habe gerade einige der einfachen Konzepte durchlaufen und festgestellt, dass, wenn ich eine parametrische Mixin verwenden, es nicht in die CSS-Datei kompiliert.Weniger kompilieren parametrische Mixins
Beispiel, das ist meine style.less Datei:
@color: #000;
.boxshadow (@shadow:2px 2px 5px rgba(0,0,0,.4)) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
}
.box{
.boxshadow;
color: @color;
}
und das ist meine kompilierte Datei style.css:
.box {
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
color: #000;
}
Es ist die Werte auf .boxshadow zu erkennen und sie durch zu tragen. Box, aber es kompiliert nicht .boxshadow als eigene CSS-Klasse.
Ich habe mit der Befehlszeile und einem Sublime Text 3-Paket, beide Ausgabe der gleichen CSS kompiliert.
Fehle ich etwas einfaches?
Vielen Dank im Voraus!
Der Code wie erwartet kompiliert, was css Sie wollen? – blonfu
Die Eigenschaften, die unter '.boxshadow' mixin angegeben sind, werden nur auf die' .box' Klasse angewendet, weil *** '.boxshadow' kompiliert wurde ***. Es wird einfach nicht in der CSS-Ausgabedatei aufgeführt, da es (parametrische Mixins) kein gültiges CSS ist. Parametrische Mixins sind reine Pre-Prozessor-Sachen, die dir helfen, Wiederholungen zu vermeiden. – Harry
Ich habe erwartet, dass der '@ shadow'-Wert innerhalb der' .boxshadow'-Stile ausgeführt wird und das als eigene Klasse '.boxshadow {-webkit-box ausgibt -shadow: 2px 2px 5px rgba (0, 0, 0, 0.4); usw. Ich verstehe jetzt, dass parametrische Mixins nur Pre-Prozessor sind – WebDevRich