CSS3の3D変換入門!rotateXで要素を立体的に回転させる方法
CSS3の3D変換(3D Transforms)を利用すると、要素をX軸(横方向)・Y軸(縦方向)・Z軸(奥行き方向)の3つの軸に沿って移動・回転させることができます。2D変換だけでは表現できなかった立体感のある演出を、CSSだけで手軽に実装できるのが大きな魅力です。
主な3D変換メソッド
- rotateX() … X軸を基準に要素を回転させます
- rotateY() … Y軸を基準に要素を回転させます
- rotateZ() … Z軸を基準に要素を回転させます
- translateZ() … Z軸方向(奥行き)へ要素を移動させます
- scale3d() … 3軸それぞれの方向に要素を拡大・縮小します
- matrix3d() … 行列を指定して複雑な3D変換を行います
サンプルコード
以下は、rotateX() を使ってX軸方向に要素を回転させるシンプルな例です。
<html>
<head>
<style>
div {
width: 200px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv {
-webkit-transform: rotateX(150deg);
/* Safari */
transform: rotateX(150deg);
/* 標準の記述方法 */
}
</style>
</head>
<body>
<div>
My website
</div>
<p>
Rotate X-axis
</p>
<div id = "myDiv">
My website
</div>
</body>
</html>
実行結果

このコードを実行すると、上段のdiv要素はそのまま表示され、「Rotate X-axis」のテキスト下にある div#myDiv のみが、X軸を中心として150度回転して表示されます。
ポイント解説
古いSafariなど一部のブラウザに対応させるため、ベンダープレフィックス付きの -webkit-transform も併せて記述しています。また、3D変換の奥行き感をより自然に見せたい場合は、親要素に perspective プロパティを設定すると効果的です。perspective を指定することで、視点からの距離に応じた遠近感が生まれ、よりリアルな立体表現が可能になります。
-
CSS3のtransitionショートハンド(短縮)プロパティの使い方
CSSのtransitionショートハンド(短縮)プロパティを使うと、transition-property(遷移対象のプロパティ)、transition-duration(遷移にかかる時間)、transition-timing-function(変化の速度カーブ)、transition-delay(遅延時間)という4つの個別プロパティを、たった1行にまとめて指定することができます。値は「プロパティ名 → 時間 → タイミング関数 → 遅延」の順にスペース区切りで記述します。複数のプロパティを同時にアニメーションさせたい場合は、それぞれの指定をカンマ(,)で区切って並べます。記述例以下は、tr
-
CSS3フレキシブルボックスレイアウト(Flexbox)の基本と使い方
CSS3には「フレキシブルボックス(Flexible Box)」と呼ばれるレイアウトモードが用意されており、一般的にFlexbox(フレックスボックス)として知られています。Flexboxを活用すれば、複雑なWebアプリケーションやWebページのレイアウトも、従来のfloatやpositionを使った手法に比べて、はるかに簡単かつ柔軟に構築できます。Flexboxは「コンテナ(親要素)」と「フレックスアイテム(子要素)」で構成されます。コンテナに指定できる主なプロパティは以下のとおりです。flex-direction:アイテムが並ぶ方向(主軸の向き)を指定しますflex-wrap:アイテムの折