Flexbox colonne comment centrer un texte sur l'axe Y ?

Par espace3d, il y a 3 ans


Les bases HTML/CSS

Bonjour,
Je n'arrive pas à centrer mes textes à l'intérieur de mes flexbox, voir capture d'écran ci-dessous :

01.png

Voici le code que j'ai actuellement :

<!DOCTYPE html> <html> <body id="body"> <link rel="stylesheet" type="text/css" href="main.css" /> <div class="intro" id="intro"> <div class="name" id="name">name</div> <div class="company" id="company">company</div> <div class="year" id="year">2022</div> </div> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Test</title> </head> </body> </html> html, body { margin: 0; height: 100%; background: black; } #intro { display: flex; height: 100vh; flex-direction: column; align-items: center; gap: 10px; background: blueviolet; } @font-face { font-style: normal; } #name { background-color: rgb(0, 249, 249); flex: 1; font-size: 20px; color: #ffffff; } #company { text-align: center; background-color: red; flex: 2; font-size: 80px; text-align: center; color: #ffffff; } #year { background-color: green; flex: 1; font-size: 20px; font-family: "Rubik"; color: #ffffff; }

Voici également un codepen qui illustre bien mon souci :

https://codepen.io/ogames/pen/rNvrrrQ

Ce que je veux

#company flex : 2; ...

Ce que j'obtiens

Mes textes sont calés vers le haut, peu importe que je spécifie dans #intro:
align-items: center;
align-content : center;

Pourquoi ?

2 réponses

JediDev, il y a 3 ans

Bonjour,
Exemple, pour ta div #company
Rajoutes un display: flex et un align-items: center

company {

text-align: center;
background-color: red;
flex: 2;
font-size: 80px;
text-align: center;
color: #ffffff;
align-items: center;
display: flex;
}

Lien très utile
https://css-tricks.com/snippets/css/a-guide-to-flexbox/#aa-background