CSS Fogli Di Stile

Pseudo Elementi

Pseudo elementi: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Pseudo-classi.

Pseudo-elementi e contenuto generato

Pseudo-elementi e contenuto generato: fondamenti.

Uno pseudo-elemento permette di stilizzare una parte o una scatola associata all’elemento. La sintassi moderna usa due coppie di due punti: ::first-letter, ::before e ::after. Non crea un normale elemento HTML nel sorgente. Le pseudo-classi descrivono condizioni di un elemento; gli pseudo-elementi selezionano parti o generano scatole in contesti previsti.

Come funziona: pseudo-elementi e contenuto generato

Pseudo-elementi e contenuto generato: comportamento nel browser.

::before e ::after richiedono un valore di content per generare il contenuto nell’uso ordinario. Possono aggiungere una decorazione o un indicatore, ma non devono contenere l’unica etichetta o spiegazione indispensabile. Le tecnologie assistive possono gestire il contenuto generato in modi diversi: per informazioni essenziali usa HTML semantico.

Scelte di utilizzo e limiti

Pseudo-elementi e contenuto generato: progetto e verifica.

::first-letter si applica alla prima lettera nelle condizioni previste per il contenuto testuale di un blocco. Non equivale a prendere il primo carattere di ogni elemento in ogni situazione. Mantieni l’esperimento semplice e non sostituire il significato del testo con un effetto grafico.

Idea chiave: La prima lettera dell’introduzione viene ingrandita. La nota riceve un punto decorativo prima del contenuto HTML.

Esempio commentato

Pseudo-elementi e contenuto generato: 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>Pseudo-elementi</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<p class="introduzione">Impariamo a distinguere parti e stati.</p>
<p class="nota">Una nota con decorazione.</p>
</body>
</html>

File stile.css

.introduzione::first-letter { font-size: 2em; font-weight: bold; }
.nota::before { content: "• "; color: navy; }

La prima lettera dell’introduzione viene ingrandita. La nota riceve un punto decorativo prima del contenuto HTML.

ProprietàValore nell’esempioSignificato
font-size2emDimensione del carattere.
font-weightboldPeso del carattere.
content"• "Contenuto generato nei contesti previsti.
colornavyColore del testo; non imposta lo sfondo.
Attenzione: Non usare ::before o ::after come unica fonte di istruzioni essenziali; scrivile nell’HTML.

LABORATORIO

Sperimentare: Pseudo-elementi e contenuto generato

La prima lettera dell’introduzione viene ingrandita. La nota riceve un punto decorativo prima del contenuto HTML.

Obiettivo: Comprendere e applicare pseudo-elementi e contenuto generato 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: Rimuovi content dalla regola ::before e conserva color.
  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

Il punto decorativo non viene più generato. La nota HTML resta presente e leggibile.

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 specificoIl punto decorativo non viene più generato. La nota HTML resta presente e leggibile.
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

Aggiungi dopo la nota una decorazione testuale non essenziale fra parentesi.

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
.nota::after { content: " (nota)"; font-style: italic; }

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

Pseudo-elementi e contenuto generato: interpretazione e applicazione.

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

1. Quale proprietà genera il testo di ::before nell’esempio? ▾
Risposta: content. Uno pseudo-elemento permette di stilizzare una parte o una scatola associata all’elemento. La sintassi moderna usa due coppie di due punti: ::first-letter, ::before e ::after. Non crea un normale elemento HTML nel sorgente. Le pseudo-classi descrivono condizioni di un elemento; gli pseudo-elementi selezionano parti o generano scatole in contesti previsti.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: La prima lettera dell’introduzione viene ingrandita. La nota riceve un punto decorativo prima del contenuto HTML.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Il punto decorativo non viene più generato. La nota HTML resta presente e leggibile.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: Non usare ::before o ::after come unica fonte di istruzioni essenziali; scrivile nell’HTML.

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