Alasannya adalah karena Anda menggunakan properti transform dua kali. Karena aturan CSS dengan kaskade, deklarasi terakhir menang jika memiliki kekhususan yang sama. Karena kedua deklarasi transformasi berada dalam kumpulan aturan yang sama, inilah masalahnya.
Apa yang dilakukannya adalah ini:
- putar teks 90 derajat. Baik.
- terjemahkan 50% kali 50%. Ok, ini adalah properti yang sama seperti langkah pertama, jadi lakukan langkah ini dan abaikan langkah 1.
Lihat http://jsfiddle.net/Lx76Y/ dan buka di debugger untuk melihat deklarasi pertama ditimpa
Karena terjemahan menimpa rotate, Anda harus menggabungkannya dalam deklarasi yang sama: http://jsfiddle.net/Lx76Y/1/
Untuk melakukan ini, Anda menggunakan daftar transformasi yang dipisahkan spasi:
#rotatedtext {
transform-origin: left;
transform: translate(50%, 50%) rotate(90deg) ;
}
Ingat bahwa mereka ditentukan dalam rantai, jadi terjemahan diterapkan terlebih dahulu, lalu putar setelah itu.