CSS Transformによる3Dカードフリップエフェクト

rotateY(180deg)とperspectiveを使った3Dフリップカードの構築。backface-visibilityを使った前面・背面の完全なセットアップ。

3D Transforms

詳細な説明

rotateYによる3Dカードフリップ

3Dカードフリップは最も人気のあるCSS transformエフェクトの一つです。rotateY(180deg)perspectiveを使ってリアルなカード裏返しアニメーションを作成します。

CSS

.card-container {
  perspective: 800px;
  width: 300px;
  height: 200px;
}

.card {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
}

.card-container:hover .card {
  transform: rotateY(180deg);
}

.card-front,
.card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
}

.card-back {
  transform: rotateY(180deg);
}

主要なプロパティ

プロパティ 目的
perspective コンテナに3D深度を作成
transform-style: preserve-3d 子要素が3D空間に存在することを許可
backface-visibility: hidden 各面の裏側を非表示
rotateY(180deg) 垂直軸を中心にカードを反転

Perspective値

  • 600-1000px:ほとんどのカードに適した自然な見た目のフリップ
  • 400px以下:極端なパースペクティブ、非常にドラマチック
  • 1500px以上:ほぼフラット、3D効果は最小限

フリップの方向

上下のフリップにはrotateYrotateXに置き換え、斜めのフリップエフェクトには両軸を組み合わせます。

ユースケース

ホバーで詳細を表示するインタラクティブ情報カード、フラッシュカード学習アプリ、裏面に機能を表示する料金カード、裏面に経歴情報を持つチームメンバープロフィールに使用されます。

試してみる — CSS Transform Playground

フルツールを開く