Regola CSS @scope
- Pagina precedente scala
- Pagina successiva scroll-behavior
Definizione e utilizzo
CSS @scope
La regola consente di selezionare gli elementi all'interno di un sottoalbero DOM specifico.
Con questa regola @, è possibile localizzare esattamente l'elemento senza scrivere selettori troppo specifici.
Questa regola @ riduce la dipendenza tra il selettore e la struttura del DOM.
Esempio
Esempio 1
In questo caso, utilizziamo due esempi indipendenti @scope
Il blocco viene utilizzato per abbinare gli elementi <a> delle classi .ex1 e .ex2. :scope viene utilizzato per selezionare e impostare lo stile dell'oggetto di riferimento. Nell'esempio corrente, l'oggetto di riferimento è l'elemento <div> che ha applicato 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; } }
Vedi l'HTML seguente:
<div class="container"> <div class="news"> <h2>Some header</h2> <img src="example.jpg" alt="Some image"> </div> </div>
Ci sono alcuni elementi <div> annidati. Se vogliamo applicare uno stile agli elementi <h2> e <img> all'interno del contenuto container/news, dobbiamo scrivere quanto segue (senza usare @scope):
Esempio 2
.container .news h2 { color: green; } .container .news img { border: 2px solid maroon; }
Usando @scope
Le regole ti permettono di localizzare esattamente gli elementi senza dover scrivere selettori troppo complessi, come nell'esempio seguente:
Esempio 3
In questo caso, stiamo impostando .container come radice dell'ambito della regola @scope per gli elementi <h2> e <img> all'interno del componente .container:
@scope (.container) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
@scope
Le regole contengono una o più set di regole e possono essere utilizzate in due modi:
- Come blocco indipendente di CSS, in questo caso, contiene una parte iniziale che include la radice di ambito e il selettore di limitazione di ambito opzionale - che definiscono i limiti superiori e inferiori dell'ambito.
- Come stile inline all'interno dell'elemento <style> di HTML, in questo caso, la parte iniziale è omessa e le regole incluse si applicano automaticamente all'elemento genitore del <style>.
Esempio 4
L'ambito donut si applica solo agli elementi tra due elementi dell'albero degli antenati. Ecco un esempio:
@scope (.container) to (.news) { h2 { font-size: 30px; color: green; } img { border: 5px solid maroon; } }
Sintassi CSS
@scope (Radice di ambito) { Set di regole }
o
/* Ambito donut */ @scope (Radice di ambito) to (Limitazione di ambito) { Set di regole }
Supporto del browser
I numeri nella tabella rappresentano la versione del browser che supporta completamente la @ regola.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
118 | 118 | Non supportato | 17.4 | 104 |
- Pagina precedente scala
- Pagina successiva scroll-behavior