Причина в том, что вы дважды используете свойство transform. Из-за правил CSS с каскадом последнее объявление выигрывает, если они имеют одинаковую специфичность. Поскольку оба объявления преобразования находятся в одном наборе правил, это так.
Что он делает, так это:
- повернуть текст на 90 градусов. ОК.
- переводим 50% на 50%. Хорошо, это то же свойство, что и на первом шаге, поэтому выполните этот шаг и пропустите шаг 1.
См. Http://jsfiddle.net/Lx76Y/ и откройте его в отладчике, чтобы увидеть перезапись первого объявления
Поскольку перевод перезаписывает поворот, вам нужно вместо этого объединить их в одном объявлении: http://jsfiddle.net/Lx76Y/1/
Для этого вы используете список преобразований, разделенных пробелами:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Помните, что они указаны в цепочке, поэтому сначала применяется перевод, а затем поворот.