Comment centrer un DIV à l'aide de CSS [5 méthodes rapides]
Publié: 2024-09-17Si vous avez déjà commencé à créer des projets avec vos compétences en codage, vous avez probablement été confronté au défi de centrer des éléments sur une page. La question « Comment centrer un div ? » est celui que presque tous les développeurs Web rencontrent.
Ce blog explorera des moyens simples de centrer des éléments à l'aide de CSS. Des méthodes de base aux techniques modernes, nous expliquerons comment centrer les éléments horizontalement et verticalement. Chaque méthode sera expliquée avec des exemples simples, afin que vous puissiez voir exactement comment elle fonctionne.
Que vous soyez nouveau dans CSS ou que vous ayez besoin d'un rappel rapide, ce guide vous aidera à maîtriser l'art du centrage des éléments sur vos pages Web. Commençons !
Qu'est-ce que DIV et pourquoi même envisager de centrer un DIV ?
Un div ou une division est un élément HTML fondamental qui agit comme un conteneur pour regrouper d'autres éléments sur une page Web.
Pensez-y simplement comme à une boîte que vous pouvez utiliser pour organiser du contenu tel que du texte, des images ou d'autres éléments. Les divs sont essentiels pour structurer et styliser le contenu de vos pages Web, les rendant plus organisées et visuellement attrayantes.
Pourquoi même envisager de centrer une division ?
Centrer un div est très important du point de vue de l'expérience utilisateur. Mais cela peut constituer un défi de style pour les développeurs Web, car cela peut considérablement améliorer l’apparence et la mise en page d’une page Web.
Voici pourquoi le centrage est important :
- Lisibilité et esthétique améliorées : le centrage du contenu peut le rendre plus attrayant visuellement et permettre aux utilisateurs de se concentrer plus facilement sur les éléments clés, tels que les boutons, les formulaires ou les images.
- Conception réactive : lorsque votre mise en page s'adapte à différentes tailles d'écran, le centrage permet de garantir que votre contenu reste équilibré et s'affiche bien sur tous les appareils, des ordinateurs de bureau aux smartphones.
- Mettre en évidence les éléments clés : le centrage est un excellent moyen d'attirer l'attention sur des sections ou des appels à l'action importants, comme un bouton « S'inscrire » ou une image de présentation.
- Des mises en page plus propres et plus professionnelles : une mise en page centrée semble souvent plus propre et plus soignée, donnant à votre site une impression plus professionnelle.
Comment centrer un DIV en utilisant CSS (différentes méthodes)
Le centrage d'un div peut être effectué de différentes manières, selon que vous souhaitez le centrer horizontalement, verticalement ou les deux. Voici quelques méthodes simples :
Voici quelques-unes des méthodes les plus populaires pour centrer un div à l'aide de CSS :
Méthode 1 : Comment centrer une division avec des marges automatiques
Si vous débutez dans la conception Web, centrer des éléments sur une page Web peut sembler délicat, mais c'est assez simple une fois que vous avez compris. Une méthode classique et simple pour centrer un div
horizontalement consiste à utiliser des marges automatiques. Décomposons-le étape par étape.
1. Ce que vous devez savoir
Pour centrer un div
horizontalement avec des marges automatiques, procédez comme suit :
- 1. Contraindre la largeur : Tout d'abord, assurez-vous que votre
div
n'occupe pas toute la largeur de son conteneur. Par défaut,div
se développent pour remplir toute la largeur. Pour le centrer, vous devez définir une largeur maximale.
- 2. Utilisez les marges automatiques : les marges automatiques sur les côtés gauche et droit pousseront le
div
vers le centre.
Voici un exemple simple :
HTML
<div class="centered-div">This is a centered div</div>
css
.centered-div {
max-width: fit-content; /* Makes the div only as wide as its content */
margin-left: auto; /* Pushes the div to the right */
margin-right: auto; /* Pushes the div to the left, centering it */
}
2. Pourquoi utiliser max-width: fit-content;
?
La max-width: fit-content;
La règle garantit que le div
n'occupe que la largeur dont il a besoin, en fonction de son contenu. Si vous avez utilisé une largeur fixe, comme 200px
, le div
risque de déborder si le conteneur est trop étroit. fit-content
ajuste dynamiquement la taille div
pour l'adapter à son contenu.
3. Comment fonctionnent les marges automatiques ?
Les marges automatiques agissent comme des hippopotames affamés, engloutissant de manière égale de l'espace supplémentaire des deux côtés pour centrer la div. Cette méthode s'adapte automatiquement aux différentes langues et est parfaite pour centrer des éléments uniques sans affecter les autres.
Lorsque les deux marges sont définies sur auto
, elles partagent également l'espace supplémentaire, ce qui centre le div
.
4. Utilisation d'un raccourci moderne : margin-inline
Au lieu de définir margin-left
et margin-right
séparément, vous pouvez utiliser la propriété margin-inline
pour une approche plus propre :
.centered-div {
largeur maximale : ajustement du contenu ;
marge en ligne : auto ; /* Définit automatiquement les marges gauche et droite sur auto */
}
Méthode 2 : Comment centrer un DIV avec Flexbox
Flexbox facilite le centrage des éléments dans les deux sens. Voici comment centrer un seul élément à l'aide de Flexbox :
.conteneur {
affichage : flexible ;
justifier-contenu : centre ; /* Centre horizontalement */
align-items : centre ; /* Centre verticalement */
}
Dans cet exemple, .container
est configuré pour utiliser Flexbox. La propriété justify-content: center
centre l'élément horizontalement, tandis que align-items: center
le centre verticalement.
Quelques points clés à considérer :
Centrage horizontal et vertical : Flexbox facilite le centrage des éléments horizontalement et verticalement, même s'ils débordent de leur conteneur.
Éléments multiples : Flexbox gère également bien plusieurs éléments. Vous pouvez utiliser flex-direction: row
pour empiler des éléments dans une ligne ou flex-direction
: column pour une pile verticale. L'ajout d'un gap
peut ajuster l'espacement entre les éléments.
Cette méthode est très flexible et couramment utilisée pour centrer des éléments dans diverses dispositions.
Méthode 3 : Comment centrer DIV dans la fenêtre
Lorsque vous souhaitez centrer un élément, comme une popup ou une bannière, au milieu de l'écran (viewport), vous pouvez utiliser le positionnement CSS. Voici une façon simple de procéder :
1. Centrage de base avec position fixe
Pour centrer un élément horizontalement et verticalement, procédez comme suit :
- Définir la position sur Fixe :
– position: fixed;
fait que l'élément reste en place pendant que vous faites défiler. C'est comme coller l'élément à l'écran.
- Utiliser l'encart pour ancrer :
– inset: 0px;
est un raccourci pour définir la distance de l'élément par rapport aux bords de la fenêtre (haut, droite, bas, gauche) sur 0 pixel. Cela étire l'élément pour remplir tout l'écran.
- Contraindre la taille :
– Définissez width
et height
pour définir la taille de l’élément.
– Utilisez max-width
et max-height
pour vous assurer qu'il ne déborde pas sur les écrans plus petits.
- Centre avec marges automatiques : –
margin: auto;
centre l'élément. Il divise uniformément l’espace supplémentaire autour de lui, en s’assurant qu’il reste centré.
Exemple de code :
.élément {
poste : fixe ;
encart : 0 ; /* Ancre l'élément à tous les bords */
largeur : 12rem ; /* Définit une largeur fixe */
hauteur : 5rem ; /* Définit une hauteur fixe */
largeur maximale : 100 vw ; /* Garantit qu'il ne dépasse pas la largeur de la fenêtre d'affichage */
hauteur maximale : 100dvh ; /* Garantit qu'il ne dépasse pas la hauteur de la fenêtre d'affichage */
marge : auto ; /* Centre l'élément */
}
2. Centrage horizontalement uniquement
Si vous souhaitez uniquement centrer un élément horizontalement (par exemple, une bannière de cookie en bas), procédez comme suit :
- Poste fixe :
– position: fixed;
maintient l'élément en place.
- Ancrage aux bords :
– Utiliser left: 0;
et right: 0;
pour l'étirer d'un côté à l'autre horizontalement.
– Définir bottom: 8px;
pour le positionner à partir du bord inférieur.
- Contraindre et centrer :
– Définissez une largeur fixe.
– Utilisez margin-inline: auto;
pour le centrer horizontalement.
Exemple de code :
.element {
position: fixed;
left: 0;
right: 0;
bottom: 8px; /* Positions from the bottom edge */
width: 12rem; /* Sets a fixed width */
max-width: calc(100vw - 16px); /* Ensures it fits within the viewport with some buffer */
margin-inline: auto; /* Centers horizontally */
}
3. Centrage d'éléments de tailles inconnues
Si vous ne connaissez pas la taille de l'élément, mais souhaitez quand même qu'il soit centré :
- Utilisez Fit-Contenu :
– width: fit-content;
et height: fit-content;
permettre à l'élément de se rétrécir autour de son contenu.
- Appliquer le centrage :
– Combiner avec position: fixed;
et margin: auto;
pour le centrer.
Exemple de code :
.element {
position: fixed;
inset: 0;
width: fit-content; /* Shrinks to fit content */
height: fit-content; /* Shrinks to fit content */
margin: auto; /* Centers the element */
}
Avec ces méthodes, vous pouvez facilement centrer les éléments dans la fenêtre, quelle que soit leur taille.
Méthode 4 : Comment centrer un DIV avec une grille CSS
CSS Grid est un outil puissant pour la conception de mises en page, particulièrement pratique pour centrer des éléments. Voici comment centrer facilement quelque chose horizontalement et verticalement à l'aide de CSS Grid :
1. Centrage d'un seul élément
Pour centrer un élément dans son conteneur, vous pouvez utiliser une configuration simple avec CSS Grid :
- Configurer l'affichage de la grille :
– display: grid;
transforme le conteneur en grille.
- Utiliser le contenu du lieu :
– place-content: center;
est un raccourci qui centre le contenu horizontalement et verticalement. Il définit à la fois justify-content
(horizontal) et align-content
(vertical) sur center
.
Exemple de code :
css
.conteneur {
affichage : grille ;
contenu du lieu : centre ; /* Centre le contenu horizontalement et verticalement */
}
Cela place l'élément en plein milieu de son conteneur, quelle que soit sa taille.
2. Différences avec Flexbox
Bien que CSS Grid puisse centrer les éléments, il se comporte différemment par rapport à Flexbox :
– Flexbox : centre les éléments en fonction de leur taille et de la taille du conteneur.
– Grille CSS : centre les éléments en fonction de la taille de la cellule de la grille, ce qui peut être délicat si la taille de la cellule de la grille n'est pas définie.
Exemple de code dans une grille avec des pourcentages :
css
.conteneur {
affichage : grille ;
contenu du lieu : centre ;
}
.élément {
largeur : 50 % ; /* La largeur est de 50 % de la cellule de la grille */
hauteur : 50 % ; /* La hauteur est de 50 % de la cellule de la grille */
}
Si la taille des cellules de la grille n'est pas spécifiée, l'élément risque d'être plus petit que prévu. Flexbox est souvent plus simple pour un centrage de base.
3. Centrage de plusieurs éléments
CSS Grid peut également gérer plusieurs éléments dans la même cellule :
- Attribuez plusieurs éléments à la même cellule :
– Utilisez grid-row
et grid-column
pour placer les éléments dans la même cellule de grille.
- Centrer les éléments dans la cellule :
– Ajouter place-items: center;
pour centrer les éléments dans la cellule de la grille.
Exemple de code :
css
.conteneur {
affichage : grille ;
contenu du lieu : centre ; /* Centre la cellule de la grille */
éléments de lieu : centre ; /* Centre les éléments dans la cellule */
}
.élément {
ligne de grille : 1 ;
colonne de grille : 1 ; /* Tous les éléments sont placés dans la même cellule */
}
Cette configuration empile plusieurs éléments au centre du conteneur, même s'ils ont des tailles différentes.
Points clés
– CSS Grid est idéal pour les mises en page complexes et lorsque vous avez besoin d’un contrôle précis sur le placement.
– Flexbox est généralement plus simple pour les tâches de centrage simples.
Avec ces bases, vous pouvez utiliser CSS Grid pour centrer à la fois des éléments uniques et multiples dans divers scénarios.
Méthode 5 : Comment centrer le texte en CSS
Le centrage du texte est un peu différent du centrage d'autres éléments comme les images ou les divs. Voici un moyen simple de le faire :
Centrer un bloc de texte
Lorsque vous souhaitez centrer un bloc de texte à l'intérieur d'un conteneur (comme un paragraphe dans un div), vous utilisez la propriété text-align
. Cela fonctionne mieux lorsque le texte se trouve dans un élément de niveau bloc, tel qu'un div
, p
ou h1
.
Voici comment procéder :
css
.conteneur {
alignement du texte : centre ;
}
Ce code indique au navigateur de centrer le texte à l'intérieur du conteneur. Si vous souhaitez également centrer le conteneur lui-même, vous pouvez utiliser Flexbox ou Grid pour cela :
css
.conteneur {
affichage : flexible ;
justifier-contenu : centre ;
align-items : centre ;
hauteur : 100vh ; /* Rend le conteneur sur toute la hauteur pour un centrage vertical */
}
Qu’en est-il de Flexbox et Grid ?
Flexbox et Grid sont parfaits pour centrer des conteneurs entiers, mais ils ne centrent pas le texte dans ces conteneurs. Si vous utilisez Flexbox ou Grid pour centrer un paragraphe, cela centre le bloc de texte, et non les lignes ou caractères individuels à l'intérieur.
Centrer le texte avec Flexbox
Si vous utilisez Flexbox pour centrer un paragraphe, comme ceci :
css
.conteneur {
affichage : flexible ;
justifier-contenu : centre ;
align-items : centre ;
hauteur : 100vh ;
}
Il centre tout le paragraphe dans le conteneur. Mais pour centrer le texte lui-même dans ce paragraphe, vous avez également besoin text-align: center;
.
Futures fonctionnalités CSS
Il y a un développement passionnant en CSS ! De nouvelles fonctionnalités arrivent qui rendront le centrage encore plus facile. Pour l'instant, en utilisant Flexbox ou Grid avec text-align: center;
est la meilleure façon de le gérer.
Cette approche simple permet de garder votre texte beau et centré, peu importe où il se trouve sur votre page !
Mais compte tenu de toutes les méthodes ci-dessus, vous ne savez peut-être pas laquelle est la mieux adaptée à différentes situations. Si tel est le cas, consultez la conclusion ci-dessous.
Conclusion
Dans ce blog, vous avez appris à centrer un élément DIV horizontalement, verticalement et au centre de la page à l'aide de divers outils tels que Flexbox et les marges automatiques. Chacun de ces outils a ses propres avantages et scénarios d'utilisation. Pour vous aider, voici quelques cas d’utilisation courants :
- Marges automatiques : utilisez-la pour un centrage horizontal simple.
- Flexbox : idéal pour centrer des éléments dans les deux sens et lorsque vous travaillez avec une ligne ou une colonne d'éléments.
- Centrage de la fenêtre : idéal pour les fenêtres contextuelles ou les éléments qui doivent être centrés sur l'écran.
- Grille CSS : idéale pour les mises en page complexes et lorsque le centrage des lignes et des colonnes est nécessaire.
Si vous avez des questions ou des doutes concernant cet article, veuillez nous le faire savoir dans la section commentaires ci-dessous :
Rahul Kumar est un passionné du Web et un stratège de contenu spécialisé dans WordPress et l'hébergement Web. Fort de plusieurs années d'expérience et d'un engagement à rester au courant des tendances du secteur, il crée des stratégies en ligne efficaces qui génèrent du trafic, stimulent l'engagement et augmentent les conversions. L'attention portée aux détails et la capacité de Rahul à créer un contenu convaincant font de lui un atout précieux pour toute marque cherchant à améliorer sa présence en ligne.