Règle @scope de CSS
- Page précédente scale
- Page suivante scroll-behavior
Définition et utilisation
CSS @scope
La règle permet de sélectionner des éléments dans un sous-arbre DOM spécifique.
Avec cette règle @, vous pouvez localiser précisément un élément sans avoir à écrire un sélecteur trop spécifique.
Cette règle @ réduit également la couplage entre le sélecteur et la structure DOM.
Instance
Exemple 1
Ici, nous utilisons deux exemples indépendants @scope
Le bloc est utilisé pour correspondre aux éléments <a> des classes .ex1 et .ex2. :scope est utilisé pour sélectionner et définir le style de l'objet d'origine. Dans cet exemple, l'objet d'origine est l'élément <div> qui a appliqué la classe :
@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; } }
Voyez le HTML suivant :
<div class="container"> <div class="news"> <h2>Some header</h2> <img src="example.jpg" alt="Some image"> </div> </div>
Voici quelques éléments <div> imbriqués. Si nous voulons définir des styles pour les éléments <h2> et <img> dans la partie container/news, nous devons écrire ce qui suit (sans utiliser @scope) :
Exemple 2
.container .news h2 { color: green; } .container .news img { border: 2px solid maroon; }
Utilisez @scope
Les règles, vous permettent de localiser précisément les éléments sans avoir à écrire des sélecteurs trop complexes, comme dans l'exemple suivant :
Exemple 3
Ici, nous définissons .container comme la racine de portée de la règle @scope pour les éléments <h2> et <img> dans le composant .container :
@scope (.container) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
@scope
Les règles contiennent une ou plusieurs ensembles de règles et peuvent être utilisées de deux manières :
- En tant que bloc indépendant de CSS, dans ce cas, il contient une partie préliminaire, y compris la racine de portée et le sélecteur de limitation de portée optionnel - qui définissent les bornes supérieure et inférieure de la portée.
- En tant que style en ligne dans l'élément <style> de HTML, dans ce cas, la partie préliminaire est omise et l'ensemble des règles inclus est appliqué automatiquement au parent de l'élément <style>.
Exemple 4
La portée de donut s'applique uniquement aux éléments situés entre deux éléments dans l'arbre des ancêtres. Voici un exemple :
@scope (.container) to (.news) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
Syntaxe CSS
@scope (Racine de portée) { Ensemble de règles }
ou
/* Portée de donut */ @scope (Racine de portée) to (Limitation de portée) { Ensemble de règles }
Support du navigateur
Les nombres dans le tableau représentent la version du navigateur qui prend en charge pleinement cette règle @.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
118 | 118 | Non pris en charge | 17.4 | 104 |
- Page précédente scale
- Page suivante scroll-behavior