CSS Fogli Di Stile

Display Block Inline E Inline Block

Display block inline e inline block: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Flusso normale della pagina.

Scatole block, inline e inline-block

Scatole block, inline e inline-block: fondamenti.

Senza tecniche particolari, il browser dispone i contenuti nel flusso normale. In un contesto a blocchi gli elementi block iniziano tipicamente su una nuova riga e, con larghezza auto, occupano lo spazio disponibile. Gli elementi inline partecipano alle righe di testo e possono spezzarsi su più righe. display cambia il comportamento delle scatole; non cambia il significato dell’elemento HTML. Un link con display: block rimane semanticamente un collegamento.

Come funziona: scatole block, inline e inline-block

Scatole block, inline e inline-block: comportamento nel browser.

Un normale elemento inline non sostituito, come span, non usa width e height nello stesso modo di un blocco. inline-block partecipa alla riga ma permette di controllare le dimensioni del proprio box: è utile per piccoli badge. I margini verticali e gli spazi di riga possono sorprendere se si ragiona sugli inline come fossero blocchi. Per impaginare gruppi di componenti useremo più avanti Flexbox e Grid, che offrono controlli espliciti sugli spazi.

Scelte di utilizzo e limiti

Scatole block, inline e inline-block: progetto e verifica.

display: none rimuove le scatole dell’elemento dal layout e normalmente lo esclude anche dall’albero di accessibilità. visibility: hidden nasconde la resa mantenendo lo spazio; opacity: 0 rende trasparente l’elemento ma non impedisce automaticamente focus o interazioni. Sono comportamenti diversi, quindi non scegliere una tecnica soltanto perché il risultato iniziale sembra invisibile. Un contenuto indispensabile non deve essere nascosto senza una modalità adeguata per renderlo disponibile.

Idea chiave: I badge mantengono una scatola controllabile dentro la riga. Il link diventa un blocco e continua a essere attivabile da tastiera.

Esempio commentato

Scatole block, inline e inline-block: HTML e CSS.

Esempio con stile esterno. Il documento index.html collega il file stile.css mediante il tag link nella head.

Documento HTML completo

<!doctype html>
<html lang="it">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>display: block, inline e inline-block</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<p>Testo con <span class="badge">CSS</span> e un altro <span class="badge">HTML</span>.</p>
<a class="collegamento" href="#fine">Un collegamento a blocco</a>
<p id="fine">Fine dell’esempio.</p>
</body>
</html>

File stile.css

.badge {
  display: inline-block;
  min-width: 4rem;
  padding: 0.25rem 0.5rem;
  background-color: #eef4fa;
  text-align: center;
}
.collegamento {
  display: block;
  margin-block: 1rem;
}

I badge mantengono una scatola controllabile dentro la riga. Il link diventa un blocco e continua a essere attivabile da tastiera.

ProprietàValore nell’esempioSignificato
displayinline-blockTipo di scatola e contesto di layout.
min-width4remLimite inferiore alla larghezza.
padding0.25rem 0.5remSpazio interno fra contenuto e bordo.
background-color#eef4faColore dello sfondo dell’elemento.
text-aligncenterAllineamento del contenuto inline nel blocco.
Attenzione: No. La semantica HTML rimane distinta dal comportamento di layout.

LABORATORIO

Sperimentare: Scatole block, inline e inline-block

I badge mantengono una scatola controllabile dentro la riga. Il link diventa un blocco e continua a essere attivabile da tastiera.

Obiettivo: Comprendere e applicare scatole block, inline e inline-block attraverso esempi e verifica nel browser.

Software: editor di testo e browser con DevTools; Tempo: 15 minuti.

Preparazione: scarica l’esempio completo e estrai lo ZIP. Apri index.html nel browser. Puoi anche aprire l’esempio online.

Apri il file stile.css nell’editor. Le lezioni iniziali usano un documento già preparato per concentrarsi sulle regole; il collegamento esterno e lo stile interno vengono spiegati nelle lezioni dedicate. Le modifiche nei DevTools sono normalmente temporanee.

Procedura passo passo

  1. Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
  2. Esegui la modifica: Osserva come cambia l’effetto di min-width.
  3. Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
  4. Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
  5. Annota causa ed effetto: scrivi il valore o la struttura iniziale, il cambiamento e il risultato. Ripristina il punto di partenza prima dell’esercizio autonomo.
Cosa devi vedere — Output atteso

inline-block applica la larghezza minima. display: none elimina lo spazio del link, mentre visibility: hidden conserva il suo ingombro.

Il font e alcuni dettagli dell’interfaccia dipendono dal browser. Valuta la proprietà e il comportamento descritti, non una corrispondenza perfetta con uno screenshot.

Verifica del risultato

ControlloCriterio
Effetto specificoinline-block applica la larghezza minima. display: none elimina lo spazio del link, mentre visibility: hidden conserva il suo ingombro.
Corrispondenza del codiceIndividua la dichiarazione o la relazione HTML responsabile della differenza.
PersistenzaRiporta la modifica nel file e verifica dopo un ricaricamento.
SpiegazioneMotiva la differenza senza affidarti soltanto a uno screenshot.
Se il risultato non coincide: verifica file aperto, salvataggio, percorso del CSS, selettore e validità dei valori. Controlla poi la cascata e le dimensioni del viewport. Cambia una sola causa alla volta.

Esercizio autonomo

Trasforma ogni badge in un blocco separato largo 6rem.

Consegna: file modificati e una breve spiegazione di selettore, proprietà e risultato. Criterio di riuscita: il cambiamento richiesto funziona dopo il ricaricamento e non taglia informazioni indispensabili.

Una possibile soluzione dell’esercizio
.badge {
  display: block;
  width: 6rem;
  margin-block: 0.5rem;
}

Integra la soluzione nel punto pertinente: modifica o sostituisci le regole coinvolte invece di accumulare dichiarazioni contraddittorie. Le altre parti dell’esempio restano necessarie.

Verifica dei concetti

Scatole block, inline e inline-block: interpretazione e applicazione.

Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.

1. Quale display permette una scatola dimensionabile dentro la riga? ▾
Risposta: inline-block. Senza tecniche particolari, il browser dispone i contenuti nel flusso normale. In un contesto a blocchi gli elementi block iniziano tipicamente su una nuova riga e, con larghezza auto, occupano lo spazio disponibile. Gli elementi inline partecipano alle righe di testo e possono spezzarsi su più righe. display cambia il comportamento delle scatole; non cambia il significato dell’elemento HTML. Un link con display: block rimane semanticamente un collegamento.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: I badge mantengono una scatola controllabile dentro la riga. Il link diventa un blocco e continua a essere attivabile da tastiera.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: inline-block applica la larghezza minima. display: none elimina lo spazio del link, mentre visibility: hidden conserva il suo ingombro.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: No. La semantica HTML rimane distinta dal comportamento di layout.

Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.