Warum "inline-block" - Elemente in ein "nowrap" div overflow?
Folgende code bewirkt, dass #Schlagzeile zum überlauf #wrapper, und ich verstehe nicht, warum dies geschieht.
HTML:
<div id="wrapper">
<div id="logo">
<img src="/test.png">
</div>
<div id="headline">
<h1>This headline overflows its wrapping div. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</h1>
</div>
</div>
CSS:
#wrapper {
background: #fea;
white-space: nowrap;
width: 50%;
}
#logo {
display: inline-block;
vertical-align: middle;
}
#logo img {
width: 6em;
}
#headline {
display: inline-block;
vertical-align: middle;
white-space: normal;
}
Beispiel-code: http://jsfiddle.net/XjstZ/21/ oder http://tinkerbin.com/XvSAEfrK
InformationsquelleAutor Markus | 2012-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie der name schon sagt, inline-blocks Teilnahme an inline-layout, das heißt, Sie Verhalten sich genauso wie inline-Elemente und text.
white-space: nowrap
bewirkt text-überlauf in ein element, indem Sie verhindern, dass es von der Verpackung; das gleiche passiert mit inline-blocks. So einfach ist das.Die Tatsache, dass
#headline
hatwhite-space: normal
hat keine Auswirkungen auf seine eigenes layout. Ein element istwhite-space
Eigenschaft wirkt sich auf das layout der Inhalte, nicht, selbst wenn das element der eigenen box ist inline-Ebene.InformationsquelleAutor BoltClock
Müssen Sie mit "overflow:hidden" in Ihrer wrapper-element
}
Ich aktualisiert Ihre Probe in jsfiddle http://jsfiddle.net/XjstZ/72/
InformationsquelleAutor Santiago Porras
Einstellung Breite headline-element wird das Problem behoben.
Es ist responsive, wenn sowohl Bild-als wrapper und Bild haben Ihre max-width definiert.
http://jsfiddle.net/tt1k2xmL/
InformationsquelleAutor HeWi
Diese Inhalte wickeln, weil
white-space: normal;
.Den white-space CSS-Eigenschaft legt fest, wie whitespace-Zeichen in einem element behandelt wird. , Wörter zu bilden, brechen in sich selbst, verwenden Sie
overflow-wrap
,word-break
oder Bindestriche statt.Nun, wenn Sie wollen, zu begrenzen, diese mit
#wrapper
als begrenzen Sie die overflow-Eigenschaft für die div.Wenn Sie mitwhite-space: nowrap;
für die div dies klar, der überlauf text und zeigen Sie das div in einer Zeile (ROW).Aber Sie können überprüfen, meine Geige, die mir der Präfekt Ergebnis.
InformationsquelleAutor A.D.