container-type e container-name
Definisca contenitori per le query utilizzando container-type e assegni loro un nome con container-name.
container-type e container-name è 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 cosa sono le container query?
Le container query consentono al CSS di applicare gli stili in base alle dimensioni di un contenitore padre anziché a quelle del viewport. In questo modo è possibile realizzare un design responsive realmente basato sui componenti, in cui ogni componente si adatta al contesto in cui viene inserito.
Il problema risolto dalle container query
Con le media query, un componente card in una sidebar di 300px non può sapere di essere piccolo: sa soltanto che il viewport è ampio. Le container query consentono al componente di reagire alle dimensioni del proprio contenitore, non a quelle del viewport globale.
container-type
Per interrogare un contenitore, dichiararlo prima come contenitore per le query utilizzando container-type:
<div class="card-wrapper">This wrapper can now be queried for its own width via @container.</div>
Valori di container-type
Valori disponibili:
inline-size— abilita le query sulla dimensione inline del contenitore, ovvero sulla larghezza nella scrittura orizzontalesize— abilita le query sia sulla dimensione inline sia su quella block, ovvero su larghezza e altezzanormal— valore predefinito: nessuna query sulle dimensioni, ma le query sugli stili restano possibili
container-name
Assegnare un nome al contenitore per farvi riferimento nelle query. È necessario quando esistono contenitori annidati e si vuole interrogare uno specifico antenato:
<div class="sidebar">Named container: "sidebar"</div>
Forma abbreviata container
La forma abbreviata container imposta sia il nome sia il tipo:
<div class="card-grid">Container named "card-grid", type inline-size.</div>
Perché usare container senza nome
È comunque possibile interrogare un contenitore senza nome: per impostazione predefinita, la regola @container si applica al contenitore antenato più vicino. I nomi sono necessari solo quando si vuole ignorare gli antenati intermedi e raggiungere uno specifico antenato.
Considerazioni sulle prestazioni
Ogni elemento container-type ottiene un proprio contenimento del layout. Ciò significa che le modifiche alle dimensioni all'interno del contenitore non influiscono sugli antenati, con un vantaggio in termini di prestazioni. Quando il contenitore cambia, il browser non deve ricalcolare l'intera pagina.
Relazione con la proprietà contain
Impostare container-type: inline-size applica implicitamente contain: inline-size layout style all'elemento. Questo impedisce che le dimensioni del contenitore influiscano sul suo stesso layout, un requisito necessario per il funzionamento delle query sulle dimensioni.
Configurazione di un esempio pratico
Una configurazione completa delle container query:
<div class="article-grid">
<div class="card">Card 1</div>
<div class="card">Card 2</div>
<div class="card">Card 3</div>
</div>
Container query e media query a confronto
Utilizzare i contenitori per: adattamento a livello di componente, componenti riutilizzabili in contesti di layout diversi, card e widget inseriti in posizioni imprevedibili. Utilizzare le media query per: modifiche al layout globale, ridimensionamento della tipografia, visualizzazione o occultamento di sezioni ampie.
Verifica rapida
Quale valore della proprietà rende un elemento interrogabile per la sua larghezza utilizzando le regole @container?
Riepilogo
container-type: inline-size definisce un elemento come contenitore interrogabile per la sua larghezza. Utilizzare container-name per assegnare nomi ai contenitori e selezionare quelli desiderati. La forma abbreviata container imposta entrambi i valori. Le container query risolvono il problema dei componenti inseriti in contesti sconosciuti, che le media query basate sul viewport non sono in grado di gestire.
Domande Frequenti
La lezione «container-type e container-name» è gratuita?
Sì — il testo completo di «container-type e container-name» è 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 «container-type e container-name»?
Definisca contenitori per le query utilizzando container-type e assegni loro un nome con container-name. 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 «container-type e container-name»?
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
- container-type e container-name
- Regole @container e breakpoint
- Unità delle container query: cqw cqh
- Container query e media query a confronto