Heim >Web-Frontend >HTML-Tutorial >Wie zentriere ich ein Div in einem anderen Div?

Wie zentriere ich ein Div in einem anderen Div?

PHPz
PHPznach vorne
2023-09-08 11:13:021774Durchsuche

Wie zentriere ich ein Div in einem anderen Div?

Einführung

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.

Verwenden Sie Transform-Übersetzung und Positionssyntax

Dies ist keine sehr beliebte Methode, um ein Div in einem anderen Div zentriert auszurichten

Grammatik

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.

Beispiel

<!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>

Anleitung

  • 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.

  • Die Funktion
  • 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.

Rastereigenschaften verwenden

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.

Grammatik

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>

Flex Box-Eigenschaften verwenden

Eine weitere Methode, die wir verwenden können, ist die Flexbox-Eigenschaft von CSS. Zuerst müssen wir das übergeordnete Element als Flexbox deklarieren. Flexbox ist ein weit verbreitetes Element in CSS. Sie sind sehr benutzerfreundlich, da es sich um reaktionsfähige Elemente handelt und Programmierer im Allgemeinen eine gute Kontrolle über die Flexbox-Eigenschaften haben.

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>

Mehrere verschachtelte Divs zentrieren

Das Einfügen mehrerer verschachtelter Divs in ein übergeordnetes Div ist ebenfalls eine einfache Aufgabe. Angenommen, es gibt drei Divs, nämlich den Container, der das übergeordnete Div ist, und das erste untergeordnete Div, das das untergeordnete Div des Containers ist. Anschließend können wir mit der besprochenen Methode zunächst das erste untergeordnete Element zentriert im Container-Div ausrichten. Als nächstes können wir das erste Kind zum Elternteil des zweiten Kindes machen und dieselbe Technik anwenden.

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>

Fazit

In diesem Artikel haben wir gelernt, wie man mithilfe von HTML und CSS ein Div innerhalb eines anderen Div zentriert ausrichtet. Wir haben uns drei verschiedene Techniken zur zentrierten Ausrichtung von Divs angesehen. Sie verwenden die Positionseigenschaft, die Rastereigenschaft und die Flexbox-Eigenschaft. Unter diesen ist das Flexbox-Attribut das am weitesten verbreitete und bequemste.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen