Ответ 1
Здесь вы хотите: http://www.jakpsatweb.cz/css/priklady/vertical-align-valid-solution-en.html
Поскольку у меня есть элемент с процентной высотой, я не могу использовать взломать высоту строки. Кто-нибудь есть идеи о том, как решить это?
<div height="100%">
I want to be vertically aligned in the middle
</div>
Здесь вы хотите: http://www.jakpsatweb.cz/css/priklady/vertical-align-valid-solution-en.html
Вы должны установить значение высоты div, а затем установить height-height: value_of_div_height. line-height 100% не будет работать, потому что это займет значение текста, а не элемента div. Он работает с выравниванием по вертикали или без него, если высота = высота линии
div {
height: 200px;
line-height: 200px;
display: block;
}
Альтернативный метод, если вы хотите сделать абзац внутри элемента div: http://www.w3.org/Style/Examples/007/center
DIV.container {
min-height: 10em;
display: table-cell;
vertical-align: middle }
...
<DIV class="container">
<P>This small paragraph...
</DIV>
Если вы задаете размер шрифта, и знаете количество строк текста, которое у вас есть. Вы можете обернуть текст в промежутке. И используйте следующий CSS на span.
span {
font-size:20px;
margin-top:-10px; //half the font-size (or (font-size*number of lines)/2)
position: relative;
top: 50%;
}