Heim >Web-Frontend >CSS-Tutorial >Wie kann ich dafür sorgen, dass ein untergeordnetes Div die verbleibende Höhe seines übergeordneten Elements einnimmt?

Wie kann ich dafür sorgen, dass ein untergeordnetes Div die verbleibende Höhe seines übergeordneten Elements einnimmt?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 05:41:13781Durchsuche

How Can I Make a Child Div Occupy the Remaining Height of Its Parent?

So stellen Sie sicher, dass ein Div die verbleibende Größe des Elternteils einnimmt

Beachten Sie den folgenden HTML- und CSS-Code:

<div>
#container { width: 300px; height: 300px; border:1px solid red;}
#up { background: green; }
#down { background:pink;}

Hier haben wir ein Container-Div mit zwei untergeordneten Elementen. Das erste Kind (#up) hat eine bestimmte Größe, das zweite (#down) dagegen nicht. Wie können wir dafür sorgen, dass #down die verbleibende Höhe des Container-Div einnimmt?

Lösung

Mehrere Methoden können dies erreichen, abhängig von der Browserkompatibilität und davon, ob #up über eine verfügt feste Höhe.

Optionen:

1. Rasterlayout:

.container {
  display: grid;
  grid-template-rows: 100px;
}

2. Flexbox-Layout:

.container {
  display: flex;
  flex-direction: column;
}
.container .down {
  flex-grow: 1;
}

3. Berechnete Höhe:

.container .up {
  height: 100px;
}
.container .down {
  height: calc(100% - 100px);
}

4. Überlauf ausgeblendet:

.container {
  overflow: hidden;
}
.container .down {
  height: 100%;
}

Die Wahl der Methode hängt von den spezifischen Anforderungen und der Browserunterstützung ab. Beachten Sie, dass CSS jetzt den Eigenschaftswert „max-content“ für die Größenanpassung enthält, der in bestimmten Szenarien geeignet sein kann.

Das obige ist der detaillierte Inhalt vonWie kann ich dafür sorgen, dass ein untergeordnetes Div die verbleibende Höhe seines übergeordneten Elements einnimmt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn