2013-09-03 22 views
7

I nie wydaje się wyrównać obrócona w pionie div całą drogę do prawej strony: http://jsfiddle.net/F23W2/2/CSS: prawo wyrównać pionowo obrócony tekst

HTML:

<div class="vertical">Vertical Text</div> 

CSS:

.vertical { 
    position: relative; 
    background-color: #DDDDDD; 
    padding: 10px; 
    border-radius: 5px 5px 0 0; 
    float: right; 
    -moz-transform: rotate(270deg); /* FF3.5+ */ 
    -o-transform: rotate(270deg); /* Opera 10.5 */ 
    -webkit-transform: rotate(-90deg); /* Saf3.1+, Chrome */ 
} 
  • Istnieje niepożądany margines stworzony między prawą stronę granicy i div.
  • Górna część obróconego elementu div zostaje przycięta.

Chociaż mogę używać ujemnych marginesów do pracy, zastanawiałem się, czy istnieje czystsze rozwiązanie.

Odpowiedz

17

Zmień pochodzenie obrotu przekształcić poprzez transform-origin: 100% 100%;
New Fiddle

+0

Co zrobić, jeśli chcesz przeczytać tekst od góry do dołu? –

+0

@ClintPachl Oto sposób: http://jsfiddle.net/4078ggjg/. Jestem pewien, że jest to "czystszy" sposób, ale nie poświęciłem czasu na uproszczenie rotacji, tłumaczeń i skalowania. – BigMacAttack

+1

To jest jakiś poważny CSS-FU @BigMacAttack! Dzięki za wskazanie mi właściwego kierunku. Korzystając z tego, co masz, wymyśliłem czystszy sposób, który działa w różnych przeglądarkach (FF, Chrome, Safari) na Win (nawet IE11), OSX, iOS i BSD: https://jsfiddle.net/yrfm5uec/1/ –