Gli pseudo-elementi css :before e :after

Grazie a gli pseudo-elementi :before e :after รจ possibile inserire all'interno di un documento HTML un contenuto non presente nel documento stesso.

Pubblicato da ,
Ultima modifica

Questi due  pseudo-elementi sevono a far posizionare un determinato "elemento" rispettivamente prima e dopo uno specifico tag html (div, h1, ecc).

Consideriamo di avere questa stringa:

Codice HTML

 <p class="demotext"><em><strong>Testo</strong></em></p>

la proprietà si scrive in questo modo:

Codice CSS

 .demotext:before {
  content: " 'prima' ";
}; 
.demotext:after {
     content: " 'dopo' ";
};

e il risultato è questo:

Testo

In realtà questa proprietà ha delle grosse potenzialità, nel senso che ci permette di fare cose molto più complesse del semplice esempio riportato prima.

Suppponiamo di avere questo elenco:

Codice HTML

 <a href="#" title="home">Home</a> 
<a href="#" title="contatti">Contatti</a> 
<a href="#" title="portfolio">Portfolio</a> 
<a href="#" title="curriculum">Curriculum</a>

e vogliamo mettere prima di ogni link un triangolino, il foglio di stile lo scriveremo così:

Codice CSS

 a{position: relative;} 

a:before{ content:" "; 
position: absolute; 
left:-15px; 
top:5px; 
width: 0; 
height: 0; 
border-bottom-width: 8px; 
border-bottom-style: solid; 
border-bottom-color: transparent; 
border-top-width: 8px; 
border-top-style: solid; 
border-top-color: transparent; 
border-left-width: 8px; 
border-left-style: solid; 
border-left-color: #FF3399; 
}

e il risultato è questo:

Home
Contatti
Portfolio
Curriculum