前端html+css实现3D卡片效果

运行效果:

鼠标移入效果:

代码部分:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>3D立体卡片</title>
  </head>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    .container {
      width: 100vw;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .card {
      width: 210px;
      height: 315px;
      /* border: 1px solid; */
      margin: 0 50px;
      position: relative;
    }
    .card img {
      width: 100%;
      position: absolute;
      transition: 0.5s;
    }
    .title {
      bottom: 0;
    }

    .card .cover {
      opacity: 0;
    }
    .card:hover .hero {
      transform: perspective(500px) rotateX(30deg);
      box-shadow: 0 35px 35px 5px rgba(0, 0, 0, 0.75);
    }
    .card:hover .cover {
      transform: perspective(500px) translate3d(0, -35px, 35px);
      opacity: 1;
    }
    .card:hover .title {
      transform: perspective(500px) translate3d(0, -35px, 35px);
    }
  </style>
  <body>
    <div class="container">
      <div class="card">
        <img class="hero" src="./img/hero1.jpeg" alt="" />
        <img class="cover" src="./img/3D-cover1.webp" alt="" />
        <img class="title" src="./img/title1.png" alt="" />
      </div>
      <div class="card">
        <img class="hero" src="./img/hero2.jpeg" alt="" />
        <img class="cover" src="./img/3D-cover2.webp" alt="" />
        <img class="title" src="./img/title2.png" alt="" />
      </div>
    </div>
  </body>
</html>

HTMLCSS可以通过使用CSS3的transform属性来实现3D轮转图。下面是一个简单的实现步骤: 1. 首先,在HTML文件中创建一个容器元素,用于包裹轮转图的所有元素。例如: ```html <div class="container"> <!-- 定义每个图像的元素 --> <div class="image"></div> <div class="image"></div> <div class="image"></div> <!-- 可添加更多图像元素 --> </div> ``` 2. 接下来,在CSS文件中设置容器元素和图像元素的样式。首先,设置容器元素的样式,使其能够显示出3D效果: ```css .container { width: 300px; /* 设置容器宽度 */ height: 300px; /* 设置容器高度 */ perspective: 1000px; /* 设置透视效果,值越大离观察者越远 */ } ``` 3. 然后,设置图像元素的样式,并应用3D效果: ```css .image { width: 100%; /* 设置图像元素宽度 */ height: 100%; /* 设置图像元素高度 */ background-image: url("路径/到/图像"); /* 设置图像背景 */ background-size: cover; /* 设置图像背景大小,以覆盖整个图像元素 */ transform-style: preserve-3d; /* 保持3D效果 */ animation: rotation 10s infinite linear; /* 设置图像旋转动画,时间、循环方式可根据需求自行调整 */ } @keyframes rotation { from { transform: rotateY(0deg); /* 开始时的旋转角度 */ } to { transform: rotateY(360deg); /* 结束时的旋转角度 */ } } ``` 通过以上步骤,我们就可以实现一个简单的3D轮转图。你可以根据需要调整容器元素和图像元素的样式,添加更多的图像元素来实现更复杂的效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xingxing?!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值