У меня есть следующий HTML: Вертикально центр повернут текст с помощью CSS
<div class="outer">
<div class="inner rotate">Centered?</div>
</div>
div.outer
является узкой вертикальной полосой. div.inner
повернут на 90 градусов. Мне нужен текст «Центрированный?» чтобы оказаться центрированным в своем контейнере div. Я не знаю размер div заранее.
Это близко: http://jsfiddle.net/CCMyf/2/. Вы можете видеть из jsfiddle, что текст вертикально центрирован до применения стиля transform: rotate(-90deg)
, но после этого несколько смещается. Это особенно заметно, когда div.outer
является коротким.
Можно ли центрировать этот текст вертикально, не зная ни одного из размеров заранее? Я не нашел значений transform-origin
, которые решают эту проблему.
Вы противоположна настройки 'дисплея: table' на элементах? Поскольку «стандартный» способ вертикального выравнивания динамических divs должен работать с преобразованием без проблем: http://stackoverflow.com/a/6182661/188221 – DigTheDoug
Я не против '' 'display: table'''. Эта скрипта показывает, что решение таблицы имеет те же проблемы, что и выше: http://jsfiddle.net/4d384/ – danvk
Попробуйте поместить класс 'rotate' в средний элемент. Это должно сделать это, но похоже, что это испортит ширину элемента. Возможно, придется поиграть с подставкой или шириной или опорой высоты, но она должна быть способной: http://jsfiddle.net/digthedoug/jWYuq/ – DigTheDoug