Ho il seguente codice HTML: centro verticale ruotato di testo con i CSS
<div class="outer">
<div class="inner rotate">Centered?</div>
</div>
div.outer
è una striscia verticale stretta. div.inner
viene ruotato di 90 gradi. Vorrei il testo "Centrato?" apparire centrato nel suo contenitore div. Non conosco le dimensioni di entrambi i div in anticipo.
Questo è vicino: http://jsfiddle.net/CCMyf/2/. È possibile vedere dal jsfiddle che il testo è centrato verticalmente prima dell'applicazione dello stile transform: rotate(-90deg)
, ma in seguito è leggermente spostato. Ciò è particolarmente evidente quando div.outer
è breve.
È possibile centrare questo testo verticalmente senza conoscere alcuna delle dimensioni in anticipo? Non ho trovato alcun valore di transform-origin
che risolva questo problema.
Sei invece di impostare 'visualizzazione: table' sugli elementi? Perché il modo "standard" per allineare verticalmente i div dinamici dovrebbe funzionare con la trasformazione senza problemi: http://stackoverflow.com/a/6182661/188221 – DigTheDoug
Non sono contrario a '' 'display: table'''. Questo violino mostra che la soluzione del tavolo ha gli stessi problemi di quella precedente: http://jsfiddle.net/4d384/ – danvk
Prova a mettere la classe 'ruvida' sull'elemento centrale. Dovrebbe farlo, ma sembra che incasini la larghezza dell'elemento. Potrebbe essere necessario giocare con il padding o la larghezza o l'altezza di oggetti di scena, ma dovrebbe essere possibile fare: http://jsfiddle.net/digthedoug/jWYuq/ – DigTheDoug