Prerequisiti: Ordine delle dichiarazioni.
Ereditarietà delle proprietà
Ereditarietà delle proprietà: fondamenti.
Alcune proprietà, come color e molte proprietà dei caratteri, vengono normalmente ereditate. Se un figlio non riceve un valore applicabile per color, può usare il colore calcolato del genitore. Non tutte le proprietà si comportano così: bordo, margine e padding normalmente non si ereditano. Un bordo attorno a una sezione circonda la sezione; non significa che ogni paragrafo abbia ricevuto lo stesso bordo.
Come funziona: ereditarietà delle proprietà
Ereditarietà delle proprietà: comportamento nel browser.
L’ereditarietà interviene dopo che sono state risolte le dichiarazioni applicabili all’elemento. Una regola p { color: ... } applicata al figlio può quindi sostituire il colore che avrebbe ereditato, anche se il genitore è selezionato da un ID. Non confrontare la specificità della regola del genitore con quella del figlio come se riguardassero lo stesso elemento. Anche gli stili del browser possono assegnare direttamente valori, per esempio ai collegamenti.
Scelte di utilizzo e limiti
Ereditarietà delle proprietà: progetto e verifica.
inherit richiede il valore calcolato del genitore, anche per una proprietà normalmente non ereditata. initial richiede il valore iniziale definito dalla proprietà, che non coincide necessariamente con lo stile usuale del browser. unset si comporta come inherit per proprietà ereditate e come initial per le altre. Queste parole chiave sono strumenti espliciti: sceglile dopo avere stabilito se vuoi seguire il genitore o tornare al valore iniziale.
Esempio commentato
Ereditarietà delle proprietà: 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>Ereditarietà delle proprietà</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<section class="scheda">
<p>Colore ereditato.</p>
<p class="autonomo">Colore applicato direttamente.</p>
</section>
</body>
</html>
File stile.css
.scheda {
color: #174a7e;
border: 2px solid #174a7e;
padding: 16px;
}
.autonomo {
color: #8b1e3f;
}
Risultato nel browser
Il primo paragrafo eredita il blu. Il secondo riceve una dichiarazione diretta. Il bordo appartiene alla sezione, non ai paragrafi.
| Proprietà | Valore nell’esempio | Significato |
|---|---|---|
color | #174a7e | Colore del testo; non imposta lo sfondo. |
border | 2px solid #174a7e | Abbreviazione per spessore, stile e colore del bordo. |
padding | 16px | Spazio interno fra contenuto e bordo. |
LABORATORIO
Sperimentare: Ereditarietà delle proprietà
Il primo paragrafo eredita il blu. Il secondo riceve una dichiarazione diretta. Il bordo appartiene alla sezione, non ai paragrafi.
Obiettivo: Comprendere e applicare ereditarietà delle proprietà 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
- Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
- Esegui la modifica: Ispeziona il secondo e individua la regola autonoma.
- Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
- Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
- 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.
Con inherit entrambi i paragrafi seguono il colore della sezione. Non compaiono nuovi bordi sui figli.
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
| Controllo | Criterio |
|---|---|
| Effetto specifico | Con inherit entrambi i paragrafi seguono il colore della sezione. Non compaiono nuovi bordi sui figli. |
| Corrispondenza del codice | Individua la dichiarazione o la relazione HTML responsabile della differenza. |
| Persistenza | Riporta la modifica nel file e verifica dopo un ricaricamento. |
| Spiegazione | Motiva la differenza senza affidarti soltanto a uno screenshot. |
Esercizio autonomo
Fai ereditare esplicitamente il colore alla classe autonomo, mantenendo il bordo solo sulla sezione.
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.
.autonomo {
color: inherit;
}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
Ereditarietà delle proprietà: interpretazione e applicazione.
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. Quale proprietà è normalmente ereditata? ▾
2. Come si interpreta il codice dell’esempio? ▾
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.