Comment centrer horizontalement et verticalement un texte? Je ne veux pas utiliser la position absolue parce que j'essaie avec cela et que mon autre div s'aggrave. Y a-t-il une autre façon de faire ça?
div {
height: 400px;
width: 800px;
background: red;
}
<div>
<h1>This is title</h1>
</div>
vous pouvez utiliser display flex, il permet un contexte de flexion pour tous ses enfants directs et, avec la direction de flexion, établit l'axe principal, définissant ainsi la direction. Les éléments flexibles sont placés dans le conteneur flexible.
div{
height: 400px;
width: 800px;
background: red;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
}
Faites juste ceci, qui fonctionne sur tous les navigateurs:
div{
height: 400px;
width: 800px;
background: red;
line-height: 400px;
text-align: center;
}
La propriété line-height
spécifie la hauteur de la ligne (qui la centre verticalement) et la text-align:center
la place directement au centre horizontalement.
<div>
<style>
div {
position: fixed;
top: 50%;
left: 50%;
}</style>
<h1>This is title</h1>
</div>
Avec position: fixed
, vous définissez la position sur une valeur fixe et avec top
et left
tous les deux définis sur 50%
, vous l'obtiendrez au milieu de l'écran.
Bonne chance à coder!
Voici quelques informations supplémentaires: https://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/
.container {
display: table;
}
.centered {
display: table-cell;
height: 400px;
width: 800px;
background: red;
text-align: center;
vertical-align: middle;
}
<div class="container">
<div class="centered">
<h1>This is title</h1>
</div>
</div>