Heim  >  Artikel  >  Web-Frontend  >  Verwendung des kaufmännischen Und-Zeichens (&) in SASS-Selektoren: Verschachtelungsprobleme mit Mixins lösen

Verwendung des kaufmännischen Und-Zeichens (&) in SASS-Selektoren: Verschachtelungsprobleme mit Mixins lösen

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 05:00:02272Durchsuche

How to Use the Ampersand (&) in SASS Selectors: Solving Nesting Challenges with Mixins

kaufmännisches Und (&) in SASS-Selektoren: Verwendungen und Problemumgehungen

SASS, eine Vorverarbeitungssprache für CSS, verwendet ein kaufmännisches Und-Symbol (&). um den übergeordneten Selektor darzustellen und so wiederverwendbaren und wartbaren Code zu ermöglichen. Die Verwendung des kaufmännischen Und-Zeichens am Ende oder als Teil eines Selektors kann jedoch zu Herausforderungen führen.

Problemübersicht

Ein Mixin, das LESS-Verhalten nachahmen soll, verfügt über einen Selektor mit einem Das kaufmännische Und-Zeichen (&) am Ende führt zu einer falschen Ausgabe. Das gewünschte Ergebnis besteht darin, einen verschachtelten Satz von Selektoren zu generieren, bei dem die Anruferklasse zu jeder nachfolgenden Ebene hinzugefügt wird, wie unten gezeigt:

.callerClass .foreverAlone{
    ...
} 

.callerClass .iThink .illNeverWork.callerClass{

    color: $pinkUnicornRainbow;
    ...
}

Lösungen

Für Sass Zu den gültigen Möglichkeiten zur Verwendung des übergeordneten Selektors in den Versionen 3.2 und niedriger gehören:

&, &.bar, &#bar, &:after, &[active]

In Sass 3.3 wird die folgende Syntax hinzugefügt:

&bar, &-bar

Sass 3.4 führt eine neue Funktion ein, bei der die kaufmännisches Und kann einer Variablen zugewiesen und innerhalb einer @at-root-Regel verwendet werden:

$foo: &;
@at-root bar#{&} {
    color: red;
}

Anwendung auf Problem

Um das gegebene Mixin anzusprechen, Das kaufmännische Und sollte in Verbindung mit der Anruferklasse wie folgt verwendet werden:

@mixin button-variant($color, $background, $border)
{
    ...
    .callerClass&.foreverAlone{
        ...
    }

    .callerClass&.iThink .illNeverWork.callerClass& {

        color: $pinkUnicornRainbow;
        ...
    }
}

Das obige ist der detaillierte Inhalt vonVerwendung des kaufmännischen Und-Zeichens (&) in SASS-Selektoren: Verschachtelungsprobleme mit Mixins lösen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn