高さが可変のブロックがあり、高さが 100% で縦書き (下から上) の別のブロックを配置し、それを外側のブロックの左側に積み重ねます。CSS 変換でそれを達成する方法はありますが、JS で幅と高さを計算する必要はありませんか?
これは私がこれまでに得たものです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<style type="text/css">
.block1 {
border: 4px solid #888;
height: 120px;
width: 200px;
}
.block2 {
height: 100%;
border: 4px solid red;
}
.msg {
display: inline-block;
white-space: nowrap;
font-family: Verdana;
font-size: 14pt;
-moz-transform: rotate(-90deg);
-moz-transform-origin: center center;
-webkit-transform: rotate(-90deg);
-webkit-transform-origin: center center;
-ms-transform: rotate(-90deg);
-ms-transform-origin: center center;
}
</style>
</head>
<body>
<div class="block1">
<table class="block2">
<tr>
<td>
<div class="msg">Hi there!</div>
</td>
</tr>
</table>
</div>
</body>
</html>
内側のブロックの計算された幅が、回転前のテキストの幅と同じであることがわかります。
アップデート:
これが私が最終的に得たいものの写真です:
これは、アイテムが左側に積み重ねられた水平方向のストライプで、垂直方向のヘッダー ブロックがあります。Stripe の高さは可変であるため、項目は適応し、ヘッダーのテキストは中央に配置されたままになる必要があります。