CSS @scope Regel
- Vorherige Seite scale
- Nächste Seite scroll-behavior
Definition und Verwendung
CSS @scope
Die Regel ermöglicht es Ihnen, Elemente in einem bestimmten DOM-Unterbau auszuwählen.
Mit dieser @-Regel können Sie Elemente präzise定位, ohne zu spezifische Selectoren zu schreiben.
Diese @-Regel reduziert auch die Kopplung zwischen dem Selector und der DOM-Struktur.
Beispiel
Beispiel 1
Hier verwenden wir zwei unabhängige @scope
Ein Block wird verwendet, um die <a>-Elemente in den Klassen .ex1 und .ex2 zu matchen.:scope wird verwendet, um den Stil des Kontexts selbst auszuwählen und zu setzen. In diesem Beispiel ist der Kontexts-Root der <div>-Element, der die Klasse angewendet hat:
@scope (.ex1) { :scope { background-color: salmon; padding: 10px; } a { color: maroon; } a:hover { color: blue; } } @scope (.ex2) { :scope { background-color: beige; padding: 10px; } a { color: green; } }
Sehen Sie sich das folgende HTML an:
<div class="container"> <div class="news"> <h2>Ein Header</h2> <img src="example.jpg" alt="Ein Bild"> </div> </div>
Hier sind einige eingebettete <div>-Elemente. Wenn wir die Stile für die <h2> und <img>-Elemente im container/news-Bereich setzen möchten, müssen wir folgendes schreiben (ohne @scope):
Beispiel 2
.container .news h2 { color: green; } .container .news img { border: 2px solid maroon; }
Verwenden Sie @scope
Regeln, mit denen Sie Elemente präzise定位, ohne komplizierte Selektoren schreiben zu müssen, wie folgt:
Beispiel 3
Hier setzen wir .container nur für die <h2> und <img>-Elemente im .container-Component als Root-Bereich der @scope-Regel:
@scope (.container) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
@scope
Regeln enthalten eine oder mehrere Regelsets und können auf zwei Weisen verwendet werden:
- Als unabhängiger Block in CSS, in diesem Fall enthält er ein Lead-Teil, das die Bereichsroot und optionale Bereichsbeschränkungswähler enthält - diese definieren die oberen und unteren Begrenzungen des Bereichs.
- Als Inline-Style im <style>-Element von HTML, in diesem Fall wird das Lead-Teil weggelassen und die enthaltenen Regelsets wirken automatisch auf den übergeordneten Element des <style>-Elements.
Beispiel 4
"Donut-Area-Bereich" betrifft nur Elemente zwischen zwei Elementen im Vorfahrenbaum. Hier ist ein Beispiel:
@scope (.container) to (.news) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
CSS-Syntax
@scope (Bereichsroot) { Regelset }
oder
/* Donut-Area-Bereich */ @scope (Bereichsroot) to (Bereichsbeschränkung) { Regelset }
Browserunterstützung
Die Zahlen in der Tabelle stellen die erste Browserversion dar, die diese @ Regel vollständig unterstützt.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
118 | 118 | Nicht unterstützt | 17.4 | 104 |
- Vorherige Seite scale
- Nächste Seite scroll-behavior