Mise en page CSS - Alignement horizontal et vertical


Alignement centré horizontal et vertical


Alignement centré d'un élément

Pour centrer horizontalement un élément (tel que <div>), vous pouvez utilisermargin: auto;。

Définir la largeur de l'élément l'empêchera de déborder sur les bords du conteneur.

L'élément est centré en spécifiant une largeur et en répartissant également les marges vides des deux côtés :

L'élément div est centré


Exemple

.center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; }

Essayez-le vous-même »

Remarque :Si la propriétéwidthn'est pas définie (ou si elle est définie sur 100%), l'alignement centré ne fonctionnera pas.


Alignement centré du texte

Si vous souhaitez uniquement centrer le texte dans un élément, vous pouvez utilisertext-align: center;

Alignement centré du texte


Exemple

.center { text-align: center; border: 3px solid green; }

Essayez-le vous-même »

Astuce :Pour plus d'exemples d'alignement de texte, veuillez vous référer auTexte CSSChapitre.


Alignement centré de l'image

Pour centrer une image, vous pouvez utilisermargin: auto;Et la placer dans unélémentbloc :

Paris

Exemple

img { display: block; margin: auto; width: 40%; }

Essayez-le vous-même »

Alignement à gauche/droite - en utilisant le positionnement

Nous pouvons utiliser la propriétéposition: absolute;pour aligner les éléments :

Tutoriel d'exemple -- L'apprentissage n'est pas seulement une technologie, mais aussi des rêves !!!


Exemple

.right { position: absolute; right: 0px; width: 300px; border: 3px solid #2167AD; padding: 10px; }

Essayez-le vous-même »

Remarque :Les éléments positionnés de manière absolue sont retirés du flux normal et peuvent chevaucher d'autres éléments.

Astuce :Lors de l'utilisation depositionLors de l'alignement des éléments, généralement<body>l'élément définiramarginetpadding. Cela peut éviter des différences visibles dans différents navigateurs.

Lors de l'utilisation de la propriété position, IE8 et les versions antérieures ont un problème. Si l'élément conteneur (dans notre cas <div class="container">) a une largeur spécifiée et que la déclaration !DOCTYPE est omise, alors IE8 et les versions antérieures ajouteront une marge supplémentaire de 17px sur le côté droit. Cela semble être de l'espace réservé à la barre de défilement. Lors de l'utilisation de la propriété position, définissez toujours la déclaration !DOCTYPE :


Exemple

body { margin: 0; padding: 0; } .container { position: relative; width: 100%; } .right { position: absolute; right: 0px; width: 300px; background-color: #b0e0e6; }

Essayez-le vous-même »

Alignement à gauche/droite - Utilisation de la méthode float

Nous pouvons également utiliser la propriétéfloatpour aligner des éléments :

Exemple

.right { float: right; width: 300px; border: 3px solid #2167AD; padding: 10px; }

Essayez-le vous-même »

Lors de l'alignement d'éléments comme ceci, il est judicieux de prédéfinir les propriétés margin et padding de l'élément <body>. Cela évite des différences visibles dans différents navigateurs.

Remarque : Si la hauteur de l'élément enfant est supérieure à celle de l'élément parent, et que l'élément enfant est défini sur float, alors l'élément enfant débordera. À ce stade, vous pouvez utiliser "clearfix(annuler le flottement)" pour résoudre ce problème.

Nous pouvons ajouter overflow: auto; à l'élément parent pour résoudre le problème de débordement de l'élément enfant :

Exemple

.clearfix { overflow: auto; }

Essayez-le vous-même »

Lors de l'utilisation de la propriété float, IE8 et les versions antérieures ont un problème. Si la déclaration !DOCTYPE est omise, alors IE8 et les versions antérieures ajouteront une marge supplémentaire de 17px sur le côté droit. Cela semble être de l'espace réservé pour la barre de défilement. Lorsque vous utilisez la propriété float, définissez toujours la déclaration !DOCTYPE :

Exemple

body { margin: 0; padding: 0; } .right { float: right; width: 300px; background-color: #b0e0e6; }

Essayez-le vous-même »

Alignement vertical centré - Utilisation de padding

Il existe de nombreuses façons en CSS de réaliser un centrage vertical. Une façon simple consiste à utiliser en haut de l'en-têtepadding:

Je suis centré verticalement.


Exemple

.center { padding: 70px 0; border: 3px solid green; }

Essayez-le vous-même »

Si vous souhaitez centrer à la fois horizontalement et verticalement, vous pouvez utiliserpaddingettext-align: center:

Je suis centré à la fois horizontalement et verticalement.


Exemple

.center { padding: 70px 0; border: 3px solid green; text-align: center; }

Essayez-le vous-même »

Centrage vertical - en utilisant line-height

Je suis centré verticalement.


Exemple

.center { line-height: 200px; height: 200px; border: 3px solid green; text-align: center; } /*Si le texte comporte plusieurs lignes, ajoutez le code suivant :*/ .center p { line-height: 1.5; display: inline-block; vertical-align: middle; }

Essayez-le vous-même »

Centrage vertical - en utilisant position et transform

En plus d'utiliserpaddingetline-heightOutre la propriété, nous pouvons également utilisertransformpropriété pour définir le centrage vertical :


Exemple

.center { height: 200px; position: relative; border: 3px solid green; } .center p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

Essayez-le vous-même »

Astuce :Pour plus de contenu sur la propriété transform, vous pouvez vous référer àChapitre 2D Flip。


Plus d’exemples

CSS Utiliser margin pour centrer une div

CSS Utiliser le positionnement absolu pour aligner une div à droite

autres extensions