Heim >Web-Frontend >HTML-Tutorial >Wie zentriere ich ein Div in einem anderen Div?
Die zentrale Ausrichtung von Divs ist einer der wichtigsten Aspekte der Front-End-Entwicklung. In diesem Artikel werden wir uns mit der Technik befassen, mit der mithilfe von HTML und CSS ein Div in einem anderen Div platziert wird.
In diesem Tutorial werden wir ein übergeordnetes Div haben, das untergeordnete Divs haben sollte. Unsere Aufgabe besteht darin, das untergeordnete Div in der Mitte des übergeordneten Div zu positionieren.
Dies ist keine sehr beliebte Methode, um ein Div in einem anderen Div zentriert auszurichten
left:50%; top:50%; Transform: translate(-50%, -50%);
Die obige Syntax bewirkt Folgendes: -
Die CSS-Regel „left:50%;“ legt die horizontale Position eines Elements auf 50 % der linken Seite seines Containers fest.
Die Regel „top:50%;“ legt die vertikale Position eines Elements auf 50 % vom oberen Rand seines Containers fest.
Die Regel „transform: translator(-50%, -50%);“ verschiebt das Element um -50 % horizontal und -50 % vertikal, wodurch die Mitte des Elements effektiv 50 % von der linken und oberen Position seines Containers positioniert wird .
Dies ist jedoch keine beliebte Methode, um ein Div innerhalb eines anderen Div zu zentrieren. Dies hat folgende Gründe:
Dafür sind fünf zusätzliche Codezeilen erforderlich, mehr als bei anderen Methoden.
Die Positionen der übergeordneten und untergeordneten Divs müssen definiert werden, was beim Entwerfen anderer zugehöriger Divs in der Zukunft zu Unannehmlichkeiten führen kann.
<!DOCTYPE html> <html lang="en"> <head> <style> .container{ background-color: red; width:50vw; height:50vh; position: relative; } .child{ background-color: yellow; Width: 25vw; Height: 25vh; position: absolute; left:50%; top:50%; transform:translate(-50%, -50%); } </style> </head> <body> <div class="container"> <div class="child"> </div> </div> </body> </html>
Im obigen Beispiel erklären wir zunächst, dass die Position des Kindes absolut und die Position des Elternteils relativ ist. Als nächstes verschieben wir das untergeordnete Element um 50 % vom oberen und linken Rand des übergeordneten Divs. Als nächstes zentrieren wir das untergeordnete Div mithilfe der CSS-Transformationseigenschaft.
translate(x, y) benötigt zwei Werte als Parameter, wobei x die Anzahl der Pixel ist, um das Element horizontal zu verschieben, und y die Anzahl der Pixel ist, um das Element vertikal zu verschieben. In diesem Beispiel verschiebt sich das Element um -50 % seiner Breite und -50 % seiner Höhe und zentriert es vertikal und horizontal.
Die beliebtere Möglichkeit, ein Div zentriert auszurichten, ist die Verwendung der Grid-Eigenschaft von CSS. Dazu müssen Sie das Div jedoch zunächst als Raster deklarieren.
place-items: center;Die Eigenschaft „place-items“ richtet Elemente horizontal und vertikal am Rastercontainer aus. Wir können diese Eigenschaft nur mit Grid-Containern verwenden.
Beispiel
<!DOCTYPE html> <html lang="en"> <head> <style> .container{ background-color: blue; width:50vw; height:50vh; display: grid; place-items: center; } .child{ background-color: yellow; width:25vw; height:25vh; } </style> </head> <body> <div class="container"> <div class="child"> </div> </div> </body> </html>
Beispiel
<!DOCTYPE html> <html lang="en"> <head> <style> .container{ background-color: purple; width:50vw; height:30vh; display: flex; flex-direction: row; align-items: center; justify-content: center; } .child{ background-color: green; width:25vw; height:10vh; } </style> </head> <body> <div class="container"> <div class="child"> </div> </div> </body> </html>
Zur Veranschaulichung werden wir eine dieser Methoden verwenden, um die Technik zu demonstrieren. Leser sollten die beiden anderen Methoden ausprobieren, um ähnliche Aufgaben auszuführen.
Beispiel
<!DOCTYPE html> <html lang="en"> <head> <style> .container { background-color: red; width: 50vw; height: 30vh; display: flex; flex-direction: row; align-items: center; justify-content: center; } .first-child { background-color: green; width: 25vw; height: 20vh; display: flex; flex-direction: row; align-items: center; justify-content: center; } .second-child { background-color: yellow; height: 10vh; width: 20vw; } </style> </head> <body> <div class="container"> <div class="first-child"> <div class="second-child"></div> </div> </div> </body> </html>
Das obige ist der detaillierte Inhalt vonWie zentriere ich ein Div in einem anderen Div?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!