Ich habe Schaltflächen in einer Schaltflächengruppe. Schaltflächengruppen haben unterschiedliche Größen, z. button-group-large
. Mein Ziel ist es, zu vermeiden, dass die Größe für jede Schaltfläche in einer Schaltflächengruppe explizit festgelegt werden muss, indem die Größe aus der Schaltflächengruppe abgeleitet wird. Das heißt, stattWie kann ich eine @extend-Direktive in SCSS überschreiben?
<div class="button-group-large">
<button class="button-large">Foo</button>
<button class="button-large">Bar</button>
</div>
Ich würde lieber schreiben:
<div class="button-group-large">
<button>Foo</button>
<button>Bar</button>
</div>
ich es so machen kann (in SASS):
.button-group-large {
button { @extend .button-large; }
}
Das funktioniert aber schafft das folgende Problem . Wenn eine meiner Schaltflächen eine spezielle Klasse hat, hat die Klasse .button-large
Vorrang. Das heißt, wenn ich
<div class="button-group-large">
<button class="special">Foo</button>
<button>Bar</button>
</div>
Dann jedes Attribut, das zwischen .special
und .button-large
erhalten die .button-large
Wert anstelle des .special
Wert abweicht. Ich möchte, dass dies das Gegenteil ist; .special
sollte hier gewinnen. (Als reales Beispiel könnte .special
die "primäre" Schaltflächenfarbe festlegen).
Hier ist ein jsfiddle illustriert das Problem: https://jsfiddle.net/wwr63qmv/3/
Als Anhaltspunkt, Bootstrap button groups Vermeiden Sie dieses Problem, indem die Klassen erfordern auf jede Taste individuell eingestellt werden, anstatt auf die Schaltfläche Gruppe. Das ist vielleicht die einzige Antwort. Gibt es eine andere Möglichkeit, um die .special
Klasse hier zu gewinnen?
Sie 'wichtig rule' als spezifische oder machen' .special' als verwenden können ' @ verlängern'. – makshh