HTML + CSS + JS 实现翻转卡片

作者:user 发布日期:2025年12月23日 22:21 浏览量:15
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Hover Flip Card</title>
  <style>
    .flip-card {
      width: 300px;
      height: 300px;
      perspective: 1000px; /* 为子元素提供 3D 空间视角 */
    }

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

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

    .flip-card-front,
    .flip-card-back {
      position: absolute;
      width: 100%;
      height: 100%;
      backface-visibility: hidden; /* 隐藏背面 */
      border-radius: 10px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }

    .flip-card-front {
      background: #ccc;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .flip-card-front img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .flip-card-back {
      color: white;
      transform: rotateY(180deg); /* 背面默认翻转 180° 使其正面朝内 */
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      box-sizing: border-box;
      background: linear-gradient(to bottom, rgba(0, 90, 170, .8) 35%, #009965 100%);
    }
  </style>
</head>
<body>

  <div class="flip-card">
    <div class="flip-card-inner">
      <div class="flip-card-front">
        <!-- 正面图片 -->
        <img src="https://via.placeholder.com/300" alt="示例图片">
      </div>
      <div class="flip-card-back">
        <!-- 背面文字介绍 -->
        <p>这是图片的介绍文字你可以在这里放任何你想展示的内容</p>
      </div>
    </div>
  </div>

</body>
</html>