属性名 | transform-origin |
---|---|
値 |
[ left | center | right | top | bottom | <percentage> | <length> ] | [ left | center | right | <percentage> | <length> ] [ top | center | bottom | <percentage> | <length> ] <length>? | [ center | [ left | right ] ] && [ center | [ top | bottom ] ] <length>? |
初期値 | 50% 50% |
適用可能要素 | トランスフォーム可能な要素 |
継承 | 継承しない |
メディア | visual |
アニメーション | トランスフォームとして可能 |
CSS | IE/Edge | Firefox | Chrome | Opera | Safari | |
---|---|---|---|---|---|---|
基本 | CSS3 | 9(-ms) 10 | 3.5(-moz) 16 | 4(-webkit) 36 | 15(-webkit) 23 | 3.1(-webkit) 9 |
3D | CSS3 | 10(制限有) | 10(-moz) 16 | 12(-webkit) 36 | 15(-webkit) 23 | 4(-webkit) 9 |
transform で要素を回転させたりする場合の中心点を指定します。X軸方向には left, center, right, <percentage>, <length> のいずれかを指定します。Y軸方向には top, center, bottom, <percentage>, <length> のいずれかを指定します。Z軸方向には <length> を指定します。値が 1つしか無い場合、2番目の値は center とみなされます。値が 2個以下の場合、3番目の値は 0px とみなされます。基本的には X軸、Y軸、Z軸の順番で指定しますが、bottom right など明確な場合は、X軸と Y軸の順番は入れ替えることができます。初期値は 50% 50% で、要素の中央を中心として回転させます。
transform-origin: 50% 50%; // 要素の中央を中心とする transform-origin: left top; // 要素の左上を中心とする transform-origin: right bottom; // 要素の右下を中心とする transform-origin: bottom right; // X,Yが明確になる場合はX軸とY軸の順番を入れ替えてもよい transform-origin: 10px 20px 30px; // X軸=10px, Y軸=20px, Z軸=30px
transform-origin を指定しない一つ目の例では、画像の中心(50% 50%)を中心として画像を回転させています。transform-origin を指定した二つ目の例では、画像の右上(0px 0px)を中心として画像を回転させています。
.test-rotate-1 { transform: rotate(20deg); } .test-rotate-2 { transform-origin: left top; transform: rotate(20deg); }
<img src="../../image/yuki5.gif" width=60 height=80 class="test-rotate-1" alt="Yuki"> <img src="../../image/yuki5.gif" width=60 height=80 class="test-rotate-2" alt="Yuki">