CSS @scope sääntö
- Edellinen sivu scale
- Seuraava sivu scroll-behavior
Definition and usage
CSS @scope
The rule allows you to select elements within a specific DOM subtree.
With this @ rule, you can precisely locate elements without writing overly specific selectors.
This @ rule also reduces the coupling between the selector and the DOM structure.
Instance
Example 1
Here, we use two independent @scope
Block to match <a> elements in .ex1 and .ex2 classes. :scope is used to select and set the style of the scope itself. In this example, the scope root is the <div> element that has applied the class:
@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; } }
Tarkastele seuraavaa HTML:ää:
<div class="container"> <div class="news"> <h2>Jotakin otsikkoa</h2> <img src="example.jpg" alt="Jotakin kuvaa"> </div> </div>
Tässä on joitakin sisäkkäisiä <div>-elementtejä, jos haluamme asettaa tyylit yllä olevan container/news-osan <h2> ja <img>-elementeille, meidän täytyy kirjoittaa seuraavaa (ilman @scope):
Esimerkki 2
.container .news h2 { color: green; } .container .news img { border: 2px solid maroon; }
Käytä @scope
Säännöillä voit tarkasti sijoittaa elementtejä, ilman että sinun täytyy kirjoittaa liian monimutkaisia valitsijoita, kuten seuraavassa:
Esimerkki 3
Tässä me asetamme vain .container-komponentin sisällä olevat <h2> ja <img>-elementit @scope-säännön juuritoimialaksi:
@scope (.container) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
@scope
Säännöt sisältävät yhden tai useamman sääntöryhmän ja voidaan käyttää kahdella tavalla:
- CSS:n itsenäisenä lohkona, tässä tapauksessa se sisältää johtavan osan, joka sisältää toimialan juurin ja valinnaisen toimialan rajoitusten valitsimen - nämä määrittelevät toimialan ylä- ja alarajat.
- HTML:n <style>-elementin sisällä olevana sisäänrakennettuna tyylinä, tässä tapauksessa johtava osa jätetään pois, ja sisältämä sääntöryhmä vaikuttaa automaattisesti <style>-elementin isäntälle.
Esimerkki 4
"Makea-juuri toimiala" koskee vain elementtejä, jotka sijaitsevat kaksi elementtiä vanhemmillaan sukupuussa. Tämä on esimerkki:
@scope (.container) to (.news) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
CSS-grammatiikka
@scope (Toimialan juuri) { Sääntöryhmä }
tai
/* Makea-juuri toimiala */ @scope (Toimialan juuri) to (Toimialan rajoitukset) { Sääntöryhmä }
Selaimen tuki
Taulukon numerot ilmaisevat ensimmäisen täysin tukevan @-säännön selaimen version.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
118 | 118 | Ei tuettu | 17.4 | 104 |
- Edellinen sivu scale
- Seuraava sivu scroll-behavior