Cercare di centrare un elemento in HTML può sembrare semplice, ma con le tante tecniche offerte da CSS, è facile confondersi. In questo articolo ti guideremo passo passo su come centrare elementi in una pagina web, sia orizzontalmente che verticalmente, utilizzando le principali tecniche di positioning in CSS.
Il posizionamento corretto degli elementi è fondamentale per offrire un’esperienza utente ottimale. Un design centrato trasmette equilibrio e migliora la leggibilità, specialmente su dispositivi mobili.
margin: auto (per elementi con larghezza definita)<div class="centrato"></div>
.centrato {
width: 300px;
margin: 0 auto;
}
Questo metodo funziona solo se l’elemento ha una larghezza esplicita.
<div class="contenitore">
<div class="elemento">Testo centrato</div>
</div>
.contenitore {
display: flex;
justify-content: center; /* centra orizzontalmente */
align-items: center; /* centra verticalmente */
height: 100vh; /* altezza del viewport */
}
Flexbox è la soluzione più moderna e responsiva per centrare elementi sia orizzontalmente che verticalmente.
<div class="wrapper">
<div class="centrato">Elemento</div>
</div>
.wrapper {
position: relative;
height: 100vh;
}
.centrato {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
Questo approccio funziona bene per elementi indipendenti, ma può essere meno flessibile su layout complessi.
.contenitore {
display: grid;
place-items: center;
height: 100vh;
}
Grid è semplice e potente per la centratura bidimensionale, specialmente nei layout più complessi.
Per centrare solo testo o contenuti inline:
p {
text-align: center;
}
Scegli la tecnica più adatta in base al contesto e al tipo di contenuto da centrare. Ricorda che Flexbox è attualmente lo standard per il posizionamento moderno, mentre Grid è ideale per layout avanzati.