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.
Sfida
FacileTi 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:
- Scrivi una regola CSS che selezioni l'elemento
<div>con la classeparent. - Imposta la proprietà
displaydell'elemento.parentsuflexper trasformarlo in un contenitore flex. - Imposta la proprietà
justify-contentdell'elemento.parentsucenterper centrare orizzontalmente l'elemento figlio. - Imposta la proprietà
align-itemsdell'elemento.parentsucenterper centrare verticalmente l'elemento figlio. - Assegna all'elemento
.parentun'altezza di200pxper 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>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Stilizzare con CSS
4Fondamenti del testo
Colore del testoFamiglia di caratteriDimensione del carattereSpessore del carattereAllineamento del testoDecorazione del testoSfida di ripasso #1Sfida di ripasso #27Modello a scatola - Parte 1
Cos'è il modello a scatola?Spaziatura internaMarginiBordiLarghezza e altezzaSfida di riepilogo8Modello a scatola Parte 2
Dimensionamento del boxRaggio del bordoOverflowOmbra del boxSfida di ripassoEsercitati da solo: Playground Web