Heim Web-Frontend CSS-Tutorial Wie erweitere ich übergeordnete Selektoren in SASS-Mixins, wenn ich das kaufmännische Und (&) am Ende eines Selektors verwende?

Wie erweitere ich übergeordnete Selektoren in SASS-Mixins, wenn ich das kaufmännische Und (&) am Ende eines Selektors verwende?

Oct 28, 2024 pm 12:52 PM

How to Extend Parent Selectors in SASS Mixins When Using the Ampersand (&) at the End of a Selector?

Ampersand (&) in SASS-Selektoren: Erweiterung des übergeordneten Geltungsbereichs

In SASS dient das kaufmännische Und-Symbol (&) als leistungsstarkes Werkzeug für Erweitern der übergeordneten Selektoren. Es ermöglicht Ihnen, Regeln innerhalb eines Mixins so zu verschachteln, dass der Klassenname des übergeordneten Selektors enthalten ist. Die Verwendung des kaufmännischen Und-Zeichens am Ende eines Selektors stellt jedoch eine besondere Herausforderung dar.

Das Problem besteht darin, sicherzustellen, dass der Selektor den Namen der Anruferklasse enthält. Betrachten Sie das folgende Sass-Mixin:

<code class="sass">@mixin button-variant($color, $background, $border) {
    ...
    .foreverAlone {
        ...
    }

    .iThink .illNeverWork&amp;amp; {
        color: $pinkUnicornRainbow;
        ...
    }
}</code>
Nach dem Login kopieren

Wenn dieses Mixin innerhalb einer anderen CSS-Klasse aufgerufen wird, enthält der generierte Code nicht den Klassennamen des Aufrufers. Stattdessen wird Folgendes erzeugt:

<code class="css">.foreverAlone {
    ...
}

.iThink .illNeverWork.callerClass {
    color: #123ABC;
    ...
}</code>
Nach dem Login kopieren

Um dieses Problem zu lösen, können Sie die folgenden Techniken verwenden:

Sass-Versionen 3.2 und älter:

  • Mehrere Selektoren verwenden: Trennen Sie jeden Selektor durch Kommas und stellen Sie sicher, dass das kaufmännische Und (&) konsistent verwendet wird.
<code class="sass">@mixin button-variant($color, $background, $border) {
    ...
    .foreverAlone,
    .iThink &amp;amp;.illNeverWork {
        color: $pinkUnicornRainbow;
        ...
    }
}</code>
Nach dem Login kopieren

Sass Version 3.3:

  • Syntax mit Bindestrich:Verwenden Sie die Syntax mit Bindestrich, um den übergeordneten Selektor zu erweitern.
<code class="sass">@mixin button-variant($color, $background, $border) {
    ...
    .iThink &amp;amp;-illNeverWork {
        color: $pinkUnicornRainbow;
        ...
    }
}</code>
Nach dem Login kopieren

Sass Version 3.4:

  • At-Root-Regeln: Definieren Sie eine Variable, die den übergeordneten Selektor enthält, und verwenden Sie die @at-Root-Regel, um ihn zu erweitern.
<code class="sass">@mixin button-variant($color, $background, $border) {
    ...
    $parent: &amp;amp;;
    @at-root .iThink#{&amp;amp;} {
        color: $pinkUnicornRainbow;
        ...
    }
}</code>
Nach dem Login kopieren

Durch die Implementierung dieser Techniken können Sie übergeordnete Selektoren innerhalb eines Mixins effektiv erweitern und sicherstellen, dass der generierte Code den Namen der Aufruferklasse enthält.

Das obige ist der detaillierte Inhalt vonWie erweitere ich übergeordnete Selektoren in SASS-Mixins, wenn ich das kaufmännische Und (&) am Ende eines Selektors verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Mar 09, 2025 pm 12:53 PM

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Mar 07, 2025 am 11:33 AM

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework

Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut Mar 02, 2025 am 09:03 AM

Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Mar 15, 2025 am 11:08 AM

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Mar 04, 2025 am 10:22 AM

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte)

Datei hochladen mit Multer in node.js und ausdrücken Datei hochladen mit Multer in node.js und ausdrücken Mar 02, 2025 am 09:15 AM

Datei hochladen mit Multer in node.js und ausdrücken

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Arbeiten mit GraphQL Caching

Beste CSS -Animationen und Effekte auf Codecanyon 2025 (kostenlos bezahlt) Beste CSS -Animationen und Effekte auf Codecanyon 2025 (kostenlos bezahlt) Mar 01, 2025 am 09:32 AM

Beste CSS -Animationen und Effekte auf Codecanyon 2025 (kostenlos bezahlt)

See all articles