Pseudo-classi e Pseudo-elementi CSS: cosa sono?

Pseudo-classi e Pseudo-elementi CSS

Le pseudo-classi e gli pseudo-elementi CSS sono strumenti potenti che permettono di applicare stili avanzati in base a stati dinamici o di arricchire graficamente un sito. 

In questa guida scoprirai cosa sono, come si usano e perché dovresti integrarli nel tuo flusso di lavoro per un design moderno ed efficiente.

Cosa sono le Pseudo-classi?

Le pseudo-classi permettono di definire stili in base allo stato di un elemento, senza bisogno di classi aggiuntive o modifiche al markup. Sono utilissime per migliorare l’usabilità e l’interattività di un’interfaccia.

Esempi di pseudo-classi comuni

  • :hover – Attiva uno stile quando l’utente passa il mouse sopra un elemento.
  • :focus – Si applica quando un elemento (come un input) riceve il focus, ad esempio con il tab da tastiera.
  • :nth-child() – Permette di selezionare un figlio specifico all’interno di un contenitore.
  • :first-child e :last-child – Selezionano rispettivamente il primo o l’ultimo elemento figlio.
  • :checked – Utile per checkbox o radio button selezionati.

Esempio pratico

button:hover {
background-color: #0056b3;
color: #fff;
}

input:focus {
border-color: #00b894;
outline: none;
}

button:hover

  • :hover è una pseudo-classe.
  • Quando l’utente passa il mouse sopra un pulsante, cambia il colore di sfondo in blu scuro (#0056b3) e il testo diventa bianco (#fff).
  • Utile per dare un feedback visivo e rendere i pulsanti più interattivi.

input:focus

  • :focus è un’altra pseudo-classe.
  • Si attiva quando il campo input riceve il focus, cioè viene cliccato o selezionato con la tastiera.
  • Il bordo cambia colore (#00b894) e viene tolto il contorno di default (outline: none), per uno stile più personalizzato.

Con queste tecniche è possibile ottenere risultati visivamente accattivanti, come cornici, badge, o effetti di enfasi, senza appesantire il DOM.

Questi stili migliorano l’accessibilità e la UX, fornendo un feedback visivo immediato all’utente.

Cosa sono gli Pseudo-elementi?

Gli pseudo-elementi permettono di creare e stilizzare parti virtuali di un elemento HTML, anche se non sono esplicitamente presenti nel markup. Questo è particolarmente utile per aggiungere contenuti decorativi, animazioni o elementi di layout.

I principali pseudo-elementi

  • ::before – Inserisce un contenuto virtuale prima del contenuto reale di un elemento.
  • ::after – Inserisce un contenuto virtuale dopo il contenuto reale.
  • ::first-line – Stilizza solo la prima riga di un paragrafo.
  • ::first-letter – Stilizza solo la prima lettera di un blocco di testo.

Esempio pratico

.card::before {
content: “”;
display: block;
height: 5px;
background-color: #ff6f61;
}

blockquote::before {
content: ““”;
font-size: 3rem;
color: #ccc;
}

.card::before

  • ::before è un pseudo-elemento che crea un contenuto prima del vero contenuto di .card.
  • In questo caso inserisce una barra colorata in alto alta 5px, con colore arancio-corallo (#ff6f61).

Non c’è bisogno di aggiungere niente in HTML, è tutto fatto via CSS.

blockquote::before

  • Aggiunge un carattere decorativo (“, la virgoletta) prima di una citazione (blockquote).
  • Il carattere è grande (3rem) e grigio chiaro (#ccc), per dare un tocco grafico.

Best practice nell’uso di pseudo-classi e pseudo-elementi

  • Non abusare di ::before e ::after per contenuti semantici. Sono pensati per scopi visivi, non per informazioni importanti.
  • Usa :focus per migliorare l’accessibilità. Indica all’utente dove si trova il focus, soprattutto per chi naviga da tastiera.
  • Combina le pseudo-classi con le media query per creare esperienze responsive e dinamiche.
  • Sii coerente nello stile: Ad esempio, mantieni effetti hover simili per tutti i pulsanti del sito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Torna in alto