Con il termine Pseudo-element ci riferiamo a delle aree all'interno di ogni elemento HTML accessibili solo attraverso CSS. Grazie a queste zone possiamo applicare effetti grafici, inserire o modificare lo stile di un testo senza dover intervenire sul codice HTML. Il risultato sarà quindi visibile solo una volta che la pagina verrà caricata all'interno del browser.
Per accedere a queste aree, la sintassi richiesta è la seguente
selettore::pseudo-element { proprietà: valore; }
La versione canonica prevede l'utilizzo di ::, ma dato che alla nascita di questi selettori veniva utilizzato un singolo :, tutti i browser supportano entrambe le sintassi.
I più famosi pseudo-element sono ::before e ::after. Come si può intendere dal nome sono due aree che si trovano prima e dopo il contenuto HTML dell'elemento. Sono spesso utilizzati per creare forme che vanno ad arricchire esteticamente il layout, o in alcuni casi usati come labels, consentendoci di non appesantire il codice HTML e presentare lo stesso contenuto, con lo stesso stile, all'interno di tutta la nostra applicazione, come nel caso seguente
<style> p.memo::before { content: "Memo"; display: block; font-size: 0.8rem; font-style: italic; } </style> <p class="memo">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec pellentesque iaculis gravida. Nullam ligula lectus, ultricies vitae lectus a, aliquam luctus nisi.</p>
Se caricato all'interno di un browser il codice mostrerà un paragrafo nella cui parte superiore verrà inserita la parola "Memo" con un font ridotto e uno stile corsivo.
A volte capita di imbattersi anche in ::first-letter e ::first-line, questi consentono di modificare lo stile per la prima lettera, o la prima linea presente in un elemento, utili per creare particolari effetti stilistici. Lo snippet seguente ingrandirà la prima lettera del paragrafo, ottenendo un effetto "manoscritto"
<style> p{ line-height: 2rem; } p::first-letter { float: left; font-size: 3rem; } </style> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec pellentesque iaculis gravida. Nullam ligula lectus, ultricies vitae lectus a, aliquam luctus nisi.</p>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Anonimizzare i dati sensibili nei log di Azure Front Door
Creare una libreria CSS universale - Rotazione degli elementi
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Rendere le variabili read-only in una pipeline di Azure DevOps
Configurare e gestire sidecar container in Azure App Service
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Estrarre dati randomici da una lista di oggetti in C#
Ordine e importanza per @layer in CSS
Gestione dei nomi con le regole @layer in CSS
Generare un hash con SHA-3 in .NET
Ottimizzare le performance usando Span<T> e il metodo Split