http://jsfiddle.net/t5GgE/1/
ヘッダーのポイント(65、60)で変換の原点を指定します。折り返しは許可せず、td
中央揃えにします。
th.rotate {
white-space: nowrap;
-webkit-transform-origin: 65px 60px;
-moz-transform-origin: 65px 60px;
-o-transform-origin: 65px 60px;
-ms-transform-origin: 65px 60px;
transform-origin: 65px 60px;
}
td.rights {
text-align: center;
}
IE8以下の更新
IE8以下の場合、の代わりに変換行列rotate(270deg)
を使用する必要があります。したがって、270度の対応する回転行列はです[0, 1, -1, 0]
。
あなたがする必要があるのは、以下を追加することであり、IE8以下では問題なく動作するはずです:
th.rotate span {
/* rotated text in IE renders very bad (unless you use clear type), so that even by making it normal, looks less bold but still bold */
font-weight: normal\9; /* \9 is an hack for IE8 and below */
letter-spacing: 3px\9; /* because is so bold, need to give letters some space to breath */
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod = "auto expand");
width: 150px\9;
height: 150px\9;
margin-right: -130px\9;
}
jsFiddleの最終バージョン
IE9の問題と回避策
IE9では、ヘッダーセクションに大きな黒い長方形が表示されます。このバグの理由は、IE9がとの両方-ms-transform
を認識するためfilter
です。両方のCSSが存在する場合、ブラウザーは単に黒い領域をレンダリングします。これを回避するには、IE9で-ms-transform
のみ使用する条件付きインクルードを使用することをお勧めします。