Menu
Coddy logo textTech

Il centro perfetto

Fa parte della sezione Stilizzare con CSS del percorso HTML di Coddy. Lezione 48 di 76.

In CSS, ottenere il «centro perfetto», centrando un elemento sia orizzontalmente sia verticalmente all’interno del suo elemento genitore, è una sfida di layout comune. Flexbox offre una soluzione elegante e semplice a questo problema. Combinando le proprietà justify-content e align-items, puoi centrare facilmente un elemento figlio all’interno del suo contenitore flex, indipendentemente dalle dimensioni dell’elemento figlio o del genitore. 

Ecco come ottenere la centratura perfetta usando Flexbox:

.container {
    display: flex; /* Trasforma l'elemento genitore in un contenitore flex */
    justify-content: center; /* Centra l'elemento figlio orizzontalmente lungo l'asse principale */
    align-items: center; /* Centra l'elemento figlio verticalmente lungo l'asse trasversale */
}

Per far funzionare efficacemente questa tecnica, assicurati che il contenitore flex abbia un'altezza definita. Se l'altezza del contenitore non è impostata esplicitamente, sarà alta solo quanto il suo contenuto e il centraggio verticale potrebbe non essere evidente.

Ecco un esempio di come usare questa tecnica in HTML:

<div class="container">
    <div class="child">This is centered</div>
</div>
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px; /* Imposta un'altezza specifica per il contenitore */
    border: 1px solid black; /* Facoltativo: aggiungi un bordo per visualizzare il contenitore */
}

.child {
    padding: 20px;
    border: 1px solid red;
}

In questo esempio, l'elemento .container ha un'altezza di 300px e l'elemento .child sarà perfettamente centrato al suo interno sia orizzontalmente sia verticalmente.

challenge icon

Sfida

Facile

Ti viene dato un documento HTML con un elemento contenitore (<div>) che contiene un elemento figlio (<div>). Il tuo compito è usare Flexbox per centrare perfettamente l'elemento figlio all'interno dell'elemento contenitore. Segui i passaggi seguenti:

  1. Scrivi una regola CSS che selezioni l'elemento <div> con la classe parent.
  2. Imposta la proprietà display dell'elemento .parent su flex per trasformarlo in un contenitore flex.
  3. Imposta la proprietà justify-content dell'elemento .parent su center per centrare orizzontalmente l'elemento figlio.
  4. Imposta la proprietà align-items dell'elemento .parent su center per centrare verticalmente l'elemento figlio.
  5. Assegna all'elemento .parent un'altezza di 200px per rendere visibile il centraggio verticale.

Provalo tu

<html>
<head>
    <title>The Perfect Center</title>
    <style>
        /* Write CSS rules here */
    </style>
</head>
<body>
    <div class="parent">
        <div class="child">Center Me</div>
    </div>
</body>
</html>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Stilizzare con CSS

Esercitati da solo: Playground Web