CSS
In CSS, 3D effects refer to the technique of adding depth to elements and setting perspective and viewpoints to make them appear three-dimensional on a webpage.
3D effect
CSSでの3D効果は、要素に奥行きを持たせたり、回転させたりすることで、より立体的に見せる技術です。
基本概念
- 3D空間
- 2D空間(X軸とY軸)にZ軸(奥行き)を追加することで、要素を3次元的に配置できます。
- 視点
- カメラの位置や視点の設定により、3D効果の見え方が変わります。
主なCSSプロパティ
- transform
- 要素を変形させるプロパティです。2D変形(回転、拡大縮小、移動、傾斜)だけでなく、3D変形も可能です。
-
CSS
transform: rotateX(45deg); /* X軸回転 */ transform: rotateY(45deg); /* Y軸回転 */ transform: rotateZ(45deg); /* Z軸回転 */ transform: perspective(500px); /* パースペクティブを設定 */
- transform-style
- 子要素を3D空間で表示するかどうかを設定します。
-
CSS
transform-style: preserve-3d;
- perspective
- 視点から要素までの距離を設定し、パースペクティブ(遠近感)を与えます。
-
CSS
perspective: 1000px;
- perspective-origin
- 視点の位置を設定します。通常、視点は要素の中央にあります。
-
CSS
perspective-origin: 50% 50%;
- backface-visibility
- 要素の裏面の表示・非表示を設定します。3D回転で裏側が見える場合に使用します。
-
CSS
backface-visibility: hidden;
Sample
HTML
<div class="box"></div>
CSS
.box {
background-color: #3498db;
height: 200px;
margin: 50px;
transform: rotateY(45deg) rotateX(45deg);
transition: transform 0.5s;
width: 200px;
}
.box:hover {
transform: rotateY(90deg) rotateX(90deg);
}
Sample
Flat
Preserve-3D
このサンプルについて、詳しくはこちら>> transform-style