LessCss: Mehrere Klassenselektoren mit & keyword

8

Sagen Sie - haben Sie ein .less Blatt mit einer großen Anzahl von "multiple" css Regeln, um die Ikonographie zu verwalten. So ähnlich:

%Vor%

und wenden Sie Regeln wie folgt an:

%Vor%

Das funktioniert gut, wenn ich wie gewohnt Markup aufrufen kann, aber es fällt mir schwer, diese Regeln über less auf ein bestimmtes Element anzuwenden:

Folgendes würde ich erwarten zu arbeiten:

%Vor%

Was nur einen Fehler auslöst.

Ich bin "zu der Überzeugung gelangt", dass das "& amp;" Der Operator kann Regeln wie folgt anwenden:

%Vor%

Dies führt zu keinem Fehler, aber nur die Regeln für .icon werden angewendet.

Hat jemand eine Lösung?

AKTUALISIEREN

FYI - Ich kompiliere mehrere .less Dateien zusammen für viele verschiedene einzigartige Blätter. Funktioniert wirklich gut.

SublimeText2-Plugin - funktioniert ziemlich gut und integriert sich wirklich gut in den Workflow (muss die Datei "bauen") ) - aber mehrere Klassen wie dieses nicht darstellen können.

Simpless - ist ein nettes Standalone, das ich sehr mag, außer dass ich immer Fehler bekomme, die meinen weniger Stack kompilieren - ohne einen klaren Hinweis auf die Fehlerort

WinLess - schafft es, alle meine Kompilierungsanforderungen zu erfüllen, sowie erfolgreich mehrere Klassen wie diese zu kompilieren. Auch - seine Fehlermeldung ist sehr spezifisch. Es zum Gewinner machen.

    
Bosworth99 04.11.2012, 00:02
quelle

2 Antworten

3

scheint ein Compiler-Problem zu sein

Wenn Sie Ihre ursprüngliche Idee von:

nehmen %Vor%

Mit

%Vor%

Wenn Sie dann der Variablen @icon_legend_white etwas zuweisen, dann den Online-Winless-Compiler kompiliert es zu dem folgenden (wo die Variable auf "somepath" festgelegt wurde):

%Vor%

Wenn also Ihr Compiler einen Fehler erzeugt, dann gibt es offensichtlich einen Unterschied zwischen der Art, wie sie kompiliert werden. Eine Lösung wäre dann, den Compiler zu wechseln oder den von Ihnen verwendeten zu debuggen.

Aktualisieren

Einige weitere Experimente mit dem Winless-Compiler zeigen, dass es nur funktioniert, wenn die Elemente durch Klassen oder IDs definiert sind (was verständlich ist, wie es für Mixins gilt), aber es hat einen Fehler darin es wird einen oder beide von .icon-l.legend und .icon-l .legend durch einen einfachen Mischruf von beiden mischen. Daher wird der "Abstand" zwischen der zweiten Menge (die ihn zu einem Kind-Selektor macht) ignoriert, wenn er als Mix-In bezeichnet wird. Das ist sicherlich falsch für diesen Compiler. Ein anderer Online-Compiler scheint nicht unter diesem Fehler zu leiden, kompiliert jedoch trotzdem entsprechend Ihrem Original Versuch.

    
ScottS 05.11.2012, 17:39
quelle
8

Der Mixin-Name sollte aus einem einzelnen Klassennamen bestehen, nicht aus mehreren. Erstellen Sie ein Mixin wie folgt:

%Vor%

und dann benutze es so:

%Vor%     
Marat Tanalin 04.11.2012 00:15
quelle

Tags und Links