36
31

CSSアニメーション:くるっとひっくり返るカード

Last updated at Posted at 2024-08-13

クリックで回転させるカード作った、メモ✍


画面収録 2024-08-13 10.19.10.gif

See the Pen Interactive 3D Card Flip Animation by hina1110 (@hina1110) on CodePen.

▼ HTML

<div class="card">
  <div class="cardface cardface__front">front</div>
  <div class="cardface cardface__back">back</div>
</div>

▼ CSS(一部抜粋)

.card {
  position: relative;
  width: 300px;
  height: 400px;
  perspective: 1000px;
  transform-style: preserve-3d;
}

.cardface {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background-color: #262626;
  transition: transform 0.6s;
  backface-visibility: hidden;
}

// 前面
.cardface__front {
  transform: none;
}
// 前面 - ひっくり返ったとき
.is-flipped .cardface__front {
  transform: rotateY(180deg);
}

// 背面
.cardface__back {
  transform: rotateY(180deg);
  color: #262626;
  background-color: #aaaaaa;
}
// 背面 - ひっくり返ったとき
.is-flipped .cardface__back {
  transform: rotateY(360deg);
}

▼ JavaScript

const cards = document.querySelectorAll(".card");

cards.forEach((card) => {
  card.addEventListener("click", () => {
    card.classList.toggle("is-flipped");
  });
});

両面が画像のやつは作ったことあったんだけど、普通にコンテンツ入れたくて!
影もちゃんと回転についてきてくれてかわいいな〜

裏面はボタンのクリックで戻るようにした◎

画面収録 2024-08-13 16.36.43.gif

カードゲーム、ボードゲーム関連のなにかに使えるかな?

36
31
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
31