Powodem jest dwukrotne użycie właściwości transform. Ze względu na reguły CSS z kaskadą wygrywa ostatnia deklaracja, jeśli mają taką samą specyfikę. Tak jest, ponieważ obie deklaracje transformacji znajdują się w tym samym zestawie reguł.
To, co robi, to:
- obrócić tekst o 90 stopni. Ok.
- przetłumacz 50% na 50%. Ok, to jest ta sama właściwość, co krok pierwszy, więc wykonaj ten krok i zignoruj krok 1.
Zobacz http://jsfiddle.net/Lx76Y/ i otwórz go w debugerze, aby zobaczyć nadpisanie pierwszej deklaracji
Ponieważ translator nadpisuje rotację, zamiast tego należy połączyć je w tej samej deklaracji: http://jsfiddle.net/Lx76Y/1/
Aby to zrobić, użyj listy przekształceń oddzielonych spacjami:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Pamiętaj, że są one określone w łańcuchu, więc translacja jest stosowana najpierw, a potem rotacja.