Überlappende Inline-Blöcke: Dilemma bei der Anzeige von Inline-Blockelementen
In HTML, wenn man ein zweispaltiges Layout mit erreichen möchte Bei einer Breite von 50 % für jede Spalte scheint die Verwendung der Eigenschaft „display: inline-block“ eine einfache Alternative zu herkömmlichen Float-Methoden zu sein. Unter bestimmten Bedingungen kann dieser Ansatz jedoch zu unvorhergesehenen Folgen führen.
Insbesondere wenn Inline-Blöcke 99 % der Gesamtbreite beanspruchen, verhalten sie sich wie erwartet und werden horizontal nebeneinander angezeigt. Sobald die Gesamtbreite jedoch 100 % erreicht, springt der zweite Inline-Block unerwartet in die folgende Zeile.
Grund für die Diskrepanz
Dieses eigenartige Verhalten ist auf die Tatsache zurückzuführen dass Inline-Blöcke Leerraumeigenschaften vom HTML erben. Standardmäßig gibt es zwischen den Elementen ein Leerzeichen, und Inline-Block-Elemente berücksichtigen dieses Leerzeichen bei ihrer Breitenberechnung. Wenn die Gesamtbreite einschließlich des Leerraums genau 100 % beträgt, überschreitet der zweite Inline-Block daher die tatsächliche Inhaltsbreite und führt dazu, dass er in die nächste Zeile umgebrochen wird.
Lösung: Entfernen des Leerzeichens -space
Um dieses Problem zu beheben, muss der Leerraum zwischen den Inline-Block-Elementen entfernt werden. Dadurch wird die Berechnung des Breitenattributs genauer und verhindert, dass der zweite Inline-Block über die Inhaltsbreite hinausragt.
Beispielcode
Zur Veranschaulichung der Lösung , betrachten Sie den folgenden HTML-Code:
<div>
Durch Entfernen des Leerraums zwischen den Divs erreichen wir das gewünschte Verhalten der Anzeige von zwei Inline-Blöcken nebeneinander innerhalb einer Breite von jeweils 50 %, auch wenn die Gesamtbreite 100 % beträgt.
Fazit
Verstehen der Auswirkung von Leerzeichen auf Inline -Block-Elemente sind im CSS-Layout von entscheidender Bedeutung. Durch die Eliminierung unnötiger Leerräume zwischen solchen Elementen können Entwickler sicherstellen, dass sich Inline-Blöcke wie erwartet verhalten, insbesondere wenn sie vor der Herausforderung stehen, ein zweispaltiges Layout mit gleicher Breite für beide Spalten zu erstellen.
Das obige ist der detaillierte Inhalt vonWarum werden Inline-Block-Elemente mit 100 % Breite umbrochen, aber nicht mit 99 %?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!