Jeśli chcesz, aby Twój tekst był responsywny, zawijanie słów od jednego do wielu wierszy, gdy szerokość zmienia się dynamicznie, wspomniana powyżej sztuczka z inline-block
pomocnikiem (który ma tutaj najlepszą kompatybilność) może nie wystarczyć, podobnie jak .inlinehelper
zawijanie tekstu pod siebie.
Oto kompletne rozwiązanie dla takiego prostego zadania:
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;
}
Zwróć uwagę na white-space:nowrap
właściwość, która zapobiega .inlinehelper
i #content
zawija się względem siebie.
white-space:initial
po #content
zresetowaniu możliwości samodzielnego owijania span
;
Inna opcja:
bardziej kwestia osobistych preferencji. Możesz użyć pseudoelementu zamiast .inlinehelper
. Usuń .inlinehelper
reguły i element css i dodaj ten pseudoelement selektor css:
#responsive_wrap:before {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
width: 0px;
}
PS: Za późno zorientowałem się, że to naprawdę stare pytanie, więc niech taka odpowiedź będzie, może komuś się przyda.