Wenn Sie möchten, dass Ihr Text inline-blockreagiert, kann das Umbrechen von Wörtern von einer in mehrere Zeilen, wenn sich die Breite dynamisch ändert, der oben erwähnte Trick mit dem Helfer (der hier die beste Kompatibilität aufweist) nicht ausreichen, ebenso wie .inlinehelperdas Umbrechen von Text unter sich.
Hier ist die Komplettlösung für eine solche einfache Aufgabe:
HTML:
<div id="responsive_wrap">
<span class="inlinehelper"><span id="content">
</div>
CSS:
#responsive_wrap {
display: block;
height: 100%;
width: 100%;
white-space: nowrap;
}
#content {
display: inline-block;
white-space: initial;
}
.inlinehelper {
height: 100%;
width: 0;
vertical-align: middle;
display: inline-block;
}
Beachten Sie die white-space:nowrapEigenschaft, die verhindert .inlinehelperund #contentin Beziehung zueinander gewickelt wird.
white-space:initialbeim #contentZurücksetzen der Fähigkeit, sich selbst einzuwickeln span;
Eine weitere Option:
Eher eine Frage der persönlichen Präferenz. Sie können stattdessen ein Pseudoelement verwenden .inlinehelper. Entfernen Sie die .inlinehelperCSS-Regeln und das Element und fügen Sie diesen Pseudoelement-CSS-Selektor hinzu:
#responsive_wrap:before {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
width: 0px;
}
PS: Ich habe herausgefunden, dass dies eine wirklich alte Frage zu spät ist. Lassen Sie diese Antwort daher sein, vielleicht ist sie für jemanden hilfreich.