Nouvelle-Techno.fr

Les alignements verticaux en CSS

Par Nouvelle-Techno.fr le 2 octobre 2021 - Catégories : CSS

Lire l'article sur le site d'origine

Ce tutoriel traite des techniques permettant de gérer l'alignement vertical d'éléments dans une page HTML.

Pour commencer, nous allons créer une structure HTML basique comme suit

<section class="container">
    <div class="contenu">
        <p>Le contenu centré verticalement.</p>
    </div>
</section>

Le but sera de centrer verticalement le contenu la balise <p> dans son conteneur.

La technique du positionnement

Nous pouvons utiliser le positionnement relatif et absolu pour effectuer cet alignement vertical.

Nous mettrons la section .container en position relative et la div .contenu en position absolue.

.container{
    border: 1px solid black;
    height: 400px;
    position: relative;
}

.contenu{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

La propriété transform permettra de compenser le décalage vertical apporté par le top à 50%.

La technique de la flexbox

Nous pouvons utiliser la flexbox pour effectuer cet alignement vertical.

Nous mettrons la section .container en flexbox et la div .contenu se placera sans aucun CSS associé.

.container{
    border: 1px solid black;
    height: 400px;
    display: flex;
    align-items: center;
}

L'alignement vertical dans un tableau

Dans un tableau, il est possible d'utiliser une autre propriété qui est vertical-align.

Dans ce cas, sur la base du code HTML suivant

<table>
    <tr>
        <td>Texte court</td>
        <td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste quaerat molestiae cum similique quo, aspernatur eos. Vel necessitatibus eveniet nulla quam incidunt aliquid, in quia, reiciendis error molestiae laudantium ad.</td>
        <td>Texte court</td>
    </tr>
</table>

Nous allons aligner verticalement le contenu des cellules <td>.

td{
    vertical-align: middle;
}

L'alignement vertical des images

Les images permettent également d'utiliser la propriété vertical-align.

Dans ce cas, sur la base du code HTML suivant

<p>
    Texte
    <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-align-middle" viewBox="0 0 16 16">
        <path d="M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z"/>
    </svg>
</p>

Nous pourrons aligner verticalement notre image en utilisant le code suivant

p svg{
    vertical-align: middle;
}

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder au serveur Guilded pour une entraide par chat

#css #alignement #vertical