HTML Text verschieben?
Ich möchte den text horizontal mittig haben justify-content und align-items gehen beide nicht
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
.WelcomeTitle {
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
font-family: sans-serif;
}
</style>
<h1 class="WelcomeTitle">Hier kommt ein Titel
<br>
hin der Lang ist!</h1>
</body>
</html>
3 Antworten
text-align
Der ist in der Mitte. Es kann daran liegen, dass du die alte Seite noch um Cache hast. Strg + F5 um den Cache der aktuellen Seite zu clearen
Das ist horizontal schon on der Mitte. Meinst du vertikal? Horizontal ist von Links nach Rechts
display: flex (und die dazugehörigen Eigenschaften wie "justify-content" und "align-items") gibt man immer dem Eltern-Element. In diesem Fall also dem body.
Flexbox beschreibt nämlich, wie die Kind-Elemente innerhalb des Flex-Elements positioniert werden sollen. Und dein h1 hat ja nichtmal Kind-Elemente (außer vlt. das <br>) ...
<style>
body {
height: 100vh;
width: 100vw;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
</style>
Das flex wirkt auf Unterelemente, nicht auf Textinhalt. Musst also um dein h1 einen block machen und den die flex styles geben. Und dann brauch der auch die entsprechende Höhe. Beispielsweise sowas:
<div class="flexbox"><h1>Text hier</h1></div>
<style>
.flexbox {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.flexbox h1 {
text-align: center;
}
</style>
Ich meinte horizontal in der Mitte