Zentrieren Sie ein absolutes Div mit CSS

Migel Hewage Nimesha 15 Februar 2024
  1. Elemente mit CSS zentrieren
  2. Zentrieren Sie ein Element horizontal mit der Eigenschaft absolut
  3. Zentrieren Sie ein Element vertikal mit der Eigenschaft absolut
  4. Zentrieren Sie ein Element sowohl horizontal als auch vertikal mit der Eigenschaft absolut
  5. Abschluss
Zentrieren Sie ein absolutes Div mit CSS

CSS (Cascading Style Sheets) wird verwendet, um Stile für HTML-Elemente zu definieren und wie sie angezeigt werden sollen, um sie an die verschiedenen Geräte und Bildschirmgrößen anzupassen. Die Verwendung von CSS spart viel Arbeit, da es das Layout mehrerer Seiten gleichzeitig steuern kann.

Mal sehen, wie es die Elemente innerhalb einer div-Klasse mit der absolute-Eigenschaft zentriert.

Elemente mit CSS zentrieren

Wenn wir einen Text, ein Bild, ein Feld oder eine Gruppe von Elementen zentrieren möchten, müssen wir sie vertikal und horizontal positionieren. Auch wenn die Zentrierung mit horizontaler und vertikaler Positionierung einfach zu sein scheint, sind die Schritte, die wir befolgen müssen, etwas knifflig.

Wir können text-align: center; mit inline und margin: 0 auto; mit Blockelementen, um Elemente horizontal zu zentrieren. Mit der Eigenschaft absolute in CSS können wir ein Element oder eine Gruppe von Elementen auch vertikal, horizontal oder vertikal und horizontal zentrieren.

Verwenden Sie die absolute Eigenschaft

Sofern wir keine Position angeben, an der Elemente existieren sollen, bleiben sie standardmäßig statisch. Die Eigenschaften top, left, right und bottom funktionieren damit nicht.

Die HTML-Elemente in static sind also nicht positioniert und erscheinen so, wie sie in der Auszeichnungssprache sind. Aber mit der Eigenschaft absolut werden Elemente positioniert und verhalten sich so, als wären sie nicht da.

Der Platz des absolut positionierten Elements wird ihm weggenommen und einem anderen zugewiesen, während das absolut positionierte Element allein Platz einnimmt.

Nehmen wir an, unser HTML-Code ist wie folgt.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
    <title>Center an Absolute div</title>
</head>
<body>
    <div class="container">
        <div class="green-box"></div>
        <div class="blue-box"></div>
    </div>
</body>
</html>

Wie im obigen Code-Snippet wurde erwähnt, dass der Dokumenttyp html ist, und am Anfang sowohl <html> als auch <head> geöffnet. Danach definiert es den Meta-Zeichensatz, der den Zugriff auf verschiedene Zeichen ermöglicht.

Dann wird die CSS-Datei mit dem Namen style mit der aktuellen HTML-Datei mittels href verknüpft und innerhalb des <title> ein Titel Center an Absolute div angezeigt. Als nächstes müssen wir den <body> einmal öffnen, nachdem wir den <head> geschlossen haben.

Im <body> wird eine div class namens container geöffnet und zwei weitere green-box und blue-box erstellt. Im letzten Teil sind die Tags <div>, <body> und <html> die Schlusssequenz.

style.css-Code:

.container {
    margin: 50px;
    display: flex;
    border: 4px solid green;
    padding: 50px;
    width: 400px;
}

.orange-box,.purple-box {
    width: 100px;
    height: 100px;
}

.orange-box {
    background-color: orange;
}

.purple-box {
    background-color: purple;
}

Das obige Code-Snippet ist der Code innerhalb der style.css.

Zunächst haben wir einen grün umrandeten Container mit definierten Eigenschaften erstellt. Als nächstes bauten wir zwei Boxen in den Farben Orange und Lila mit 100px Breite und Höhe.

Ausgang:

CSS Zentrieren eines absoluten Div - Ausgabe 1

Anpassen der Eigenschaften in den Kästchen in der Datei style.css, wir können sie horizontal, vertikal oder sowohl horizontal als auch vertikal zentrieren.

Um eine klare Vorstellung zu bekommen, passen wir nur das lila Kästchen an. Zum Zentrieren der Elemente können Sie den obigen Code für die unten genannten Anwendungsfälle ändern.

Zentrieren Sie ein Element horizontal mit der Eigenschaft absolut

Beispielcode:

.purple-box {
    background-color: purple;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}

Ausgang:

CSS Center an Absolute Div - Output 2

Gemäß dem obigen Snippet haben wir das lila Kästchen mit der Eigenschaft absolute positioniert, während die Werte für left und right 0 sind. Auch die Ränder top und bottom sind 0, während beide links und rechts sind auto.

Daher nimmt es einen automatischen Rand für die Breite des Objekts.

Wie wir in der Ausgabe sehen können, wird das violette Kästchen mithilfe der Positionseigenschaft absolute horizontal zentriert.

Zentrieren Sie ein Element vertikal mit der Eigenschaft absolut

Beispielcode:

.purple-box {
    background-color: purple;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

Ausgang:

CSS Zentrieren eines absoluten Div - Ausgabe 3

Mit obigem Code-Snippet haben wir das violette Kästchen mit der Eigenschaft absolute vertikal zentriert in die Position gesetzt und die Werte für top und bottom auf 0 gesetzt. Außerdem setzen wir den margin-Wert auto für oben und unten, während der Randwert 0 für links und rechts ist.

Nachdem wir das violette Kästchen wie im obigen Code angepasst haben, können wir es vertikal zentriert platzieren, indem wir die in der obigen Ausgabe gezeigte Eigenschaft absolute verwenden.

Zentrieren Sie ein Element sowohl horizontal als auch vertikal mit der Eigenschaft absolut

Beispielcode:

.purple-box {
    background-color: purple;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

Ausgang:

CSS Zentrieren eines absoluten Div - Ausgabe 4

Diese Methode ist eine Sammlung der oben genannten Methoden. Um das violette Kästchen horizontal und vertikal zu zentrieren, haben wir den Wert 0 für rechts, links, oben und unten gesetzt, nachdem wir die Position als absolut eingestellt haben.

Dann haben wir auto als Rand-Wert für oben, unten, links und rechts zugewiesen.

Indem wir die obige Methode anpassen, können wir das violette Kästchen vertikal und horizontal relativ zur Seite zentrieren. Aber hier verwenden wir einen Container.

Wenn wir das violette Kästchen passend zum grün umrandeten Container zentrieren wollen, müssen wir die relative Position innerhalb der Eigenschaften des Containers wie folgt definieren.

Beispielcode:

.container {
    margin: 50px;
    display: flex;
    border: 4px solid green;
    padding: 50px;
    width: 400px;
    position: relative;
}

Ausgang:

CSS Zentrieren eines absoluten Div - Ausgabe 5

Die obigen drei Instanzen sind die drei wichtigsten Instanzen beim Zentrieren eines Elements, und wir haben die Breite für das violette Kästchen in jedem Beispiel definiert.

Abgesehen davon können wir, wenn die Breite unbekannt ist, die Methode transformieren mit relativen Skalen verwenden, und ihre Verwendung ist am besten, da sie reaktionsschnell und flexibel ist, anstatt einen Wert für die Breite anzugeben.

transform: translate(-50%, -50%);

CSS Zentrieren eines absoluten Div - Ausgabe 6

transform: translate(-50%, 0);

CSS Zentrieren eines absoluten Div - Ausgabe 7

transform: translate(0, -50%);

CSS Zentrieren eines absoluten Div - Ausgabe 8

Bei dieser Methode verläuft die linke Skala in der Funktion translate mit der x-Achse, während die andere Skala mit der y-Achse verläuft. Entsprechend der Skala ist das Element responsiv.

Abschluss

Mit der Eigenschaft absolute können wir die Größe der Blöcke ändern und entsprechend den Prozentsätzen reagieren. In diesem Artikel haben wir anhand eines Beispiels das horizontale, vertikale und horizontale und vertikale Zentrieren der Elemente besprochen.

Anstelle von statischen Elementen respektieren die absolut positionierten Elemente nicht den Container, in dem wir sie deklariert haben. Aber mit dem relativ positionierten Element hat das absolut positionierte Element eine Grenze mit den Eigenschaften Rand und oben, unten, links und rechts.

Die transform-Methode erhöht die Flexibilität und Reaktionsfähigkeit, wenn die Breite nicht definiert ist.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - CSS Alignment