Heim >Web-Frontend >CSS-Tutorial >Warum passen zwei Inline-Block-Elemente mit einer Breite von 50 % nicht nebeneinander?

Warum passen zwei Inline-Block-Elemente mit einer Breite von 50 % nicht nebeneinander?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 09:47:12348Durchsuche

Why Do Two 50% Width Inline-Block Elements Not Fit Side-by-Side?

Zwei Inline-Block-Elemente mit 50 % Breite passen nicht nebeneinander in eine Reihe: Warum?

Bei Verwendung von Inline-Block Elemente gibt es ein inhärentes Problem mit Leerzeichen zwischen ihnen (ungefähr 4 Pixel breit). Das bedeutet, dass zwei Divs mit jeweils 50 % Breite plus diesem Leerzeichen die 100 %-Breite überschreiten, was dazu führt, dass sie aus ihrer vorgesehenen einzelnen Zeile ausbrechen.

Beispiel:

body {
  margin: 0;
}

div {
  display: inline-block;
  width: 50%;
}

.left {
  background-color: aqua;
}

.right {
  background-color: gold;
}
<div class="left">foo</div>
<div class="right">bar</div>

Gründe für das Leerzeichen Problem:

  • Randkollaps: Ränder von Inline-Elementen werden nicht zusammengeführt oder reduziert; Stattdessen erzeugen sie kleine Abstände zwischen den Elementen.
  • Abstand zwischen Inline-Elementen: Browser fügen normalerweise einen Abstand von 4 Pixeln zwischen Inline-Elementen hinzu, wenn kein Abstand oder Rahmen definiert ist.

Alternative Lösungen:

Beim Einstellen eines Divs auf 49 % Breite kann Um das Lückenproblem zu lösen, ist dies keine ideale Vorgehensweise. Zu den Alternativen gehören:

  • Float: Floating-Elemente beseitigen das Problem der Inline-Lücke, wirken sich jedoch auf die vertikale Ausrichtung aus.
  • Flexbox: Die Verwendung von Flexbox ermöglicht für eine präzisere Layoutkontrolle und vermeidet Probleme mit Leerzeichen.
  • CSS Raster: Das moderne CSS-Raster-Layout bietet einen rasterbasierten Ansatz zur Steuerung der Elementpositionierung, wodurch Inline-Block-Elemente und deren Abstandsprobleme überflüssig werden.

Das obige ist der detaillierte Inhalt vonWarum passen zwei Inline-Block-Elemente mit einer Breite von 50 % nicht nebeneinander?. 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