Dichiarazione e ordine di @layer
Dichiari livelli della cascata con nome e ne controlli l’ordine di priorità con le istruzioni @layer.
Dichiarazione e ordine di @layer è una lezione CSS Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento CSS Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CSS Academy include 4 lezioni in totale.
Che cos'è @layer?
I livelli della cascata CSS (@layer) forniscono un meccanismo per controllare esplicitamente la priorità delle regole CSS nella cascata, indipendentemente dalla specificità. I livelli con priorità inferiore perdono anche quando contengono selettori con specificità maggiore.
Perché @layer è importante
Senza i livelli, ogni regola CSS compete usando la specificità e l'ordine nel codice sorgente. Questo porta a conflitti di specificità, quando gli stili di reset, dei componenti e delle utility competono tutti per la priorità. I livelli assegnano a ogni gruppo una priorità fissa e prevedibile.
Dichiarare i livelli
Dichiari i livelli in anticipo con un'unica istruzione. L'ordine di dichiarazione determina la priorità: i livelli dichiarati successivamente prevalgono su quelli dichiarati precedentemente.
<p>This scene only declares layer order — see the CSS panel:</p>
<p style="color:#888;font-size:0.9em;">@layer reset, base, components, utilities;</p>Posizione della dichiarazione del livello
La dichiarazione @layer dovrebbe trovarsi all'inizio del foglio di stile (o del file principale di importazione). Dopo la dichiarazione, può aggiungere gli stili ai livelli in qualsiasi ordine: la priorità è determinata dall'ordine di dichiarazione, non dal punto in cui vengono aggiunti gli stili.
Perché l'ordine nel codice sorgente non conta per i livelli
Poiché la priorità dei livelli viene determinata al momento della dichiarazione, può aggiungere gli stili a un livello in qualsiasi punto, anche prima che sia stato dichiarato, facendo riferimento in avanti. Ciò che conta è l'ordine dichiarato.
Regola di priorità dei livelli
Una dichiarazione in un livello successivo prevale sempre su una dichiarazione in un livello precedente, indipendentemente dalla specificità:
<p>Reset layer !important paragraph (red)</p>
<div id="header">Components layer header (blue)</div>Stili non appartenenti a livelli
Gli stili inseriti al di fuori di qualsiasi livello sono detti non appartenenti a livelli. Hanno la priorità più alta, persino maggiore di quella dell'ultimo livello dichiarato. Li usi per override di emergenza che devono sempre prevalere.
La gerarchia delle priorità
Ordine completo delle priorità (dalla più alta alla più bassa per gli stili dell'autore):
- Stili non appartenenti a livelli (al di fuori di qualsiasi @layer)
- Ultimo livello dichiarato (ad esempio, utilities)
- Penultimo livello (ad esempio, components)
- Livelli precedenti (base, reset)
Inversione di !important nei livelli
!important nei livelli è un aspetto delicato: inverte l'ordine dei livelli per quella dichiarazione. !important nel livello più iniziale prevale su !important nei livelli successivi. Questo rispecchia il comportamento originale della cascata per gli stili dell'utente e dell'autore.
Livelli nidificati
I livelli possono essere nidificati usando la notazione con il punto:
<p>This scene declares nested layers with dot notation — see the CSS panel.</p>Esempio di configurazione pratica
Una configurazione realistica dei livelli per un progetto:
<p>A realistic project layer order — see the CSS panel.</p>Verifica rapida
I livelli sono dichiarati come segue: @layer base, components, utilities. Gli stili di quale livello prevalgono in caso di conflitto?
Riepilogo
@layer stabilisce livelli della cascata ordinati esplicitamente. Dichiari i nomi dei livelli nell'ordine di priorità, dal più basso al più alto. I livelli successivi prevalgono sempre su quelli precedenti, indipendentemente dalla specificità. Gli stili non appartenenti a livelli hanno la priorità più alta. !important inverte l'ordine di priorità dei livelli per quella dichiarazione.
Domande Frequenti
La lezione «Dichiarazione e ordine di @layer» è gratuita?
Sì — il testo completo di «Dichiarazione e ordine di @layer» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso CSS Academy, passa a CoddyKit PRO. Il corso CSS Academy include 4 lezioni in totale.
Cosa imparerò in «Dichiarazione e ordine di @layer»?
Dichiari livelli della cascata con nome e ne controlli l’ordine di priorità con le istruzioni @layer. Eserciti CSS Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare CSS Academy?
Non è richiesta alcuna esperienza precedente. CSS Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Dichiarazione e ordine di @layer»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione CSS Academy?
Sì. Ogni lezione CSS Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Dichiarazione e ordine di @layer
- Aggiunta degli stili ai livelli
- Priorità dei livelli e interazione con !important
- Livelli nel codice di terze parti