Die perfekte Zentrierung
Teil des Abschnitts Styling mit CSS der HTML-Journey von Coddy. Lektion 48 von 76.
In CSS ist das Erreichen der „perfekten Zentrierung“, also das horizontale und vertikale Zentrieren eines Elements innerhalb seines übergeordneten Elements, eine häufige Herausforderung beim Layout. Flexbox bietet eine elegante und unkomplizierte Lösung für dieses Problem. Durch die Kombination der Eigenschaften justify-content und align-items kannst du ein untergeordnetes Element unabhängig von der Größe des untergeordneten oder übergeordneten Elements problemlos innerhalb seines Flex-Containers zentrieren.
So erreichst du das perfekte center mit Flexbox:
.container {
display: flex; /* Turn the parent into a flex container */
justify-content: center; /* Center the child horizontally along the main axis */
align-items: center; /* Center the child vertically along the cross axis */
}Damit diese Technik effektiv funktioniert, stelle sicher, dass der Flex-Container eine definierte Höhe hat. Wenn die Höhe des Containers nicht ausdrücklich festgelegt ist, ist er nur so hoch wie sein Inhalt, und die vertikale Zentrierung ist möglicherweise nicht erkennbar.
Hier ist ein Beispiel dafür, wie du diese Technik in HTML verwendest:
<div class="container">
<div class="child">This is centered</div>
</div>.container {
display: flex;
justify-content: center;
align-items: center;
height: 300px; /* Set a specific height for the container */
border: 1px solid black; /* Optional: Add a border for visualization */
}
.child {
padding: 20px;
border: 1px solid red;
}In diesem Beispiel hat das Element .container eine Höhe von 300px, und das Element .child wird darin sowohl horizontal als auch vertikal perfekt zentriert.
Aufgabe
EinfachDu erhältst ein HTML-Dokument mit einem übergeordneten Bereich (<div>), der einen untergeordneten Bereich (<div>) enthält. Deine Aufgabe besteht darin, Flexbox zu verwenden, um den untergeordneten Bereich innerhalb des übergeordneten Bereichs perfekt zu zentrieren. Befolge die folgenden Schritte:
- Schreibe eine CSS-Regel, die auf das
<div>-Element mit der Klasseparentzielt. - Setze die Eigenschaft
displaydes Elements.parentaufflex, um es in einen Flex-Container umzuwandeln. - Setze die Eigenschaft
justify-contentdes Elements.parentaufcenter, um das untergeordnete Element horizontal zu zentrieren. - Setze die Eigenschaft
align-itemsdes Elements.parentaufcenter, um das untergeordnete Element vertikal zu zentrieren. - Gib dem Element
.parenteineheightvon200px, um sicherzustellen, dass die vertikale Zentrierung sichtbar ist.
Probier es selbst
<html>
<head>
<title>The Perfect Center</title>
<style>
/* Write CSS rules here */
</style>
</head>
<body>
<div class="parent">
<div class="child">Center Me</div>
</div>
</body>
</html>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Styling mit CSS
4Textgrundlagen
TextfarbeSchriftfamilieSchriftgrößeSchriftstärkeTextausrichtungTextdekorationWiederholungsaufgabe Nr. 1Wiederholungsaufgabe Nr. 25Farben und Hintergründe
HintergrundfarbeHEX-FarbenRGB-FarbenTransparenz mit RGBAWiederholungs-Challenge #111Layout-Techniken
Block- vs. Inline-ElementeGrundlagen der PositionierungRelative PositionierungAbsolute PositionierungFixierte PositionierungGrundlagen von z-indexWiederholungs-Challenge14Letzte Herausforderungen
Elemente anordnenFilmlisteHochzeitseinladungskarteSchwebende Benachrichtigung3Grundlegende Selektoren
Einführung in SelektorenTypselektorKlassenselektorID-SelektorGruppenselektorenUniversalselektorAuswahl-Challenge9Flexbox
Was ist eine Flexbox?Flex-RichtungInhalte ausrichtenElemente ausrichtenDie perfekte ZentrierungFlexbox-Herausforderung12Grundlagen des Responsive Designs
Was ist Responsive Design?Viewport-Meta-TagFließende LayoutsViewport-EinheitenGrundlagen der Media QueriesFlexible BilderÜbe selbstständig: Web-Playground