Подтвердить что ты не робот

Как вы выровняете скорректированный текст 270deg в верхнем левом углу?

Это должна быть очень простая проблема, о которой вы думаете. У меня есть коробка с текстом заголовка, который я хочу повернуть на -90 градусов. Я бы хотел, чтобы он был абсолютно позиционирован так, что конец слова подталкивается в верхний левый угол. Я могу получить это, чтобы выровнять по дну достаточно легко, но проблема в том, что с текстом переменной длины кажется невозможным, чтобы он постоянно оставался в контейнере при выравнивании к вершине, потому что такие вещи, как {top: 0}, работают над заголовком перед преобразованием, Для моих целей это нужно только в Firefox. Я могу использовать javascript, если это единственное решение, но вы бы подумали, что это можно сделать только с помощью CSS.

4b9b3361

Ответ 1

Вы должны использовать transform-origin, чтобы настроить точку преобразования, а также некоторое творческое использование свойств позиционирования.

http://jsfiddle.net/thirtydot/JxEfs/1/

CSS

#box {
    padding: 30px;
    position: relative;
    border: 1px solid blue;
}
#box > div {
    border: 1px solid red;
    position: absolute;
    top: 0;
    right: 100%;
    white-space: nowrap;

    -webkit-transform: rotate(270deg);
    -webkit-transform-origin: right top;
    -moz-transform: rotate(270deg);
    -moz-transform-origin: right top;
    -ms-transform: rotate(270deg);
    -ms-transform-origin: right top;
    -o-transform: rotate(270deg);
    -o-transform-origin: right top;
    transform: rotate(270deg);
    transform-origin: right top;
}

HTML:

<div id="box">
    hello
    <div>rotated!</div>
</div>

Ответ 2

Также может работать без права: 100% Просто поверните на 270 град вокруг левого верха, а затем переведите его на новую 100% ширину.

transform: rotate(-90deg) translate(-100%, 0);
transform-origin: 0 0;

http://jsfiddle.net/zW7SP/