<div class="card">
  <div class="card-inner">
    <div class="card-front">
      <img src="https://i.postimg.cc/bJs0ZYPS/DSC-1027.jpg" alt="Card Image" />
    </div>
    <div class="card-back">
      <h2>琉璃光苑</h2>
      <p>日本京都郊區的景點</p>
    </div>
  </div>
</div>
body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background-color: #f0f0f0;
  margin: 0;
  font-family: Arial, sans-serif;
}

.card {
  width: 40vw;
  height: 60vh;
  perspective: 1000px;
}

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

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

.card-front,
.card-back {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  border-radius: 10px;
  overflow: hidden;
}

.card-front {
  background-color: #fff;
}

.card-back {
  background-color: #282c34;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotateY(180deg);
}

img {
  object-fit: cover;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.