Tôi có HTML sau: trung tâm theo chiều dọc xoay văn bản với CSS
<div class="outer">
<div class="inner rotate">Centered?</div>
</div>
div.outer
là một dải dọc hẹp. div.inner
được xoay 90 độ. Tôi muốn văn bản "Căn giữa?" xuất hiện tập trung vào div vùng chứa của nó. Tôi không biết kích thước của cả hai div trước.
Điều này đến gần: http://jsfiddle.net/CCMyf/2/. Bạn có thể thấy từ jsfiddle rằng văn bản được căn giữa theo chiều dọc trước khi áp dụng kiểu transform: rotate(-90deg)
, nhưng phần nào được bù đắp sau. Điều này đặc biệt đáng chú ý khi div.outer
ngắn.
Có thể căn giữa văn bản này theo chiều dọc mà không biết bất kỳ kích thước nào trước không? Tôi chưa tìm thấy bất kỳ giá trị nào của transform-origin
giải quyết vấn đề này.
Bạn có phản đối thiết lập 'display: table' trên các yếu tố? Bởi vì cách 'chuẩn' để sắp xếp dọc các div động nên làm việc với biến đổi mà không có vấn đề: http://stackoverflow.com/a/6182661/188221 – DigTheDoug
Tôi không phản đối '' 'display: table'''. Fiddle này cho thấy rằng giải pháp bảng có cùng các vấn đề như ở trên: http://jsfiddle.net/4d384/ – danvk
Thử đặt lớp 'rotate' vào phần tử ở giữa. Điều đó nên làm điều đó, nhưng có vẻ như nó làm hỏng chiều rộng của vật phẩm. Có thể phải chơi xung quanh với phần đệm hoặc chiều rộng hoặc chiều cao đạo cụ, nhưng nó phải là do-thể: http://jsfiddle.net/digthedoug/jWYuq/ – DigTheDoug