内部にテキストを入れた2つの矩形のdiv(幅は60px、高さは150px)を作成しました。テキストは長方形の中に縦に並んでいることを意味しているので、私はtransform: rotate(-90deg)
を使ってテキストを縦に傾けました。テキストセンターは水平でも変換時には垂直ではありません
テキストを垂直にして、ボックスの中央に配置します。テキストを垂直に回転する前に、display: table
とvertical-align: middle
メソッドを使用してテキストの中央に配置しました。これは、テキストが水平の場合には完全に機能します。しかし、コンテンツを回転させた後、テキストは中央に留まらない。 CSSはテキストを水平のように中央に配置します。
テキストを上端と左端からオフセットするために絶対/相対位置付けを試みましたが、display: table
とvertical-align: center
のプロパティを削除すると、テキストが消えます。
テーブルのプロパティを維持しながら、垂直に傾いたテキストをどのように配置するかに関するアイデアはありますか?どんな入力も非常に高く評価されます。
フィドル:https://jsfiddle.net/sxchx6zm/3/
HTML
<div id="both">
<div class="rectangle">
<div class="vertical">Text Area 1</div>
</div>
<div class="rectangle">
<div class="vertical">Test Area 2</div>
</div>
</div>
CSS
.rectangle {
height: 150px;
width: 60px;
background-color: #d3d3d3;
border: 1px solid red;
display: table;
}
.vertical {
font-size: 16pt;
height: 150px;
max-width: 60px;
display: table-cell;
vertical-align: middle;
transform: rotate(-90deg);
white-space: nowrap;
}
可能な複製[の途中で回転したテキストを整列させる方法div](http://stackoverflow.com/questions/14020643/how-to-align-rotated-text-in-the-middle-of-a-div) – Joum
@Joum私はいくつかの提案を試した - なし私がディスプレイを削除して縦書きアトリビュートを削除したときにテキストが消えてしまう問題にマッチしましたs。また、いくつかは、上に設定マージンを追加することをお勧めします、私はむしろピクセルまたはパーセントを指定せずに直接中心にしたいと思います – martin934
@ martin934私はあなたのために持っている唯一のオプションは、 .verticalクラスとtop:Xpx;しかし、これには垂直クラスの固定幅が必要ですが、それはうまくいくでしょう。 – Velocibadgery