281 of 313 menu

transform-origin プロパティ

transform-originプロパティは、 transformプロパティで設定される 要素の変形が行われる基点を設定します。 デフォルトでは、この点は要素の中心であり、 例えば回転はその中心を基準に行われます。 しかし、この動作は変更可能で、要素をその辺や角、 あるいは要素の外側にある点を基準に回転させることができます。

構文

セレクタ { transform-origin: X軸 Y軸 Z軸; }

Y軸とZ軸の値は必須ではなく、省略可能です (その場合、デフォルト値が適用されます)。 Z軸に沿った基点の移動は、3D変形に必要です。

X軸の値

説明
CSS単位 値には、変形の中心の要素の左端からのオフセットを指定する あらゆるサイズの単位を使用できます。 正の値は変形の中心を右に(要素の内側に)、 負の値は左に(要素の外側に)要素の左端を基準に移動させます。
left 水平方向の回転点を要素の左端に設定します。
right 水平方向の回転点を要素の右端に設定します。
center 水平方向の回転点を要素の中央に設定します。

デフォルト値: center

Y軸の値

説明
CSS単位 値には、変形の中心の要素の上端からのオフセットを指定する あらゆるサイズの単位を使用できます。 正の値は変形の中心を下に(要素の内側に)、 負の値は上に(要素の外側に)要素の上端を基準に移動させます。
top 垂直方向の回転点を要素の上端に設定します。
bottom 垂直方向の回転点を要素の下端に設定します。
center 垂直方向の回転点を要素の中央に設定します。

デフォルト値: center

Z軸の値

説明
CSS単位 値には、変形の中心の要素の平面からのオフセットを指定する あらゆるサイズの単位を使用できます。 正の値はそれを手前に(画面平面から)、負の値は奥に移動させます。

デフォルト値: 0px

現在、transform-originプロパティの値は設定されておらず、 ブロックはその中心を基準に回転します。 マウスをブロックに合わせて効果を確認してください:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: center center; transform: rotate(30deg); }

:

次に、ホバー時にブロックは左上の角を基準に回転します:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: 0px 0px; transform: rotate(30deg); }

:

次に、ホバー時にブロックは右下の角を基準に回転します。 これには、変形の基点を右に100%、 下に100%移動させる必要があります (pxで指定することもできますが、 要素のサイズが変わっても変形の基点は同じ位置に残るため、 %で指定する方が良いでしょう):

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: 100% 100%; transform: rotate(30deg); }

:

ブロックを右上の角を基準に回転させます:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: 100% 0%; transform: rotate(30deg); }

:

ブロックを左辺の中央を基準に回転させます。 これには、X軸にleft(回転点は左)、 Y軸にcenter(回転点は垂直方向の中央)を設定します:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: left center; transform: rotate(30deg); }

:

このプロパティは回転だけでなく、他の変形にも設定できます。 scaleを使用して、変形の基点を左下の角として指定して拡大してみましょう:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: left bottom; transform: scale(1.5); }

:

次に、変形の基点を右上の角として指定します:

<div id="elem">lorem ipsum</div> #elem { border: 1px solid black; width: 100px; height: 50px; } #elem:hover { transform-origin: right top; transform: scale(1.5); }

:

変形の基点は要素の外側にも設定できます。 次の例では、マウスを赤いブロックに合わせると、 黒いブロックが外側にある点を基準に回転します:

<div id="hover"></div> <div id="elem"></div> #hover { border: 1px solid red; width: 50px; height: 50px; } #elem { border: 1px solid black; width: 100px; height: 50px; transition: transform 1s; transform-origin: -100px -100px; } #hover:hover + #elem { transform: rotate(30deg); }

:

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否