【CSS】3D卡片效果

本文介绍了如何使用HTML和CSS创建一个响应式的卡片布局,通过CSS动画实现鼠标悬停时封面、主角和标题的动态效果,提升用户体验。

效果

在这里插入图片描述

index.html

<!DOCTYPE html>
<html>
  <head>
    <title> Document </title>
    <link type="text/css" rel="styleSheet" href="index.css" />
  </head>
  <body>
    <div class="card">
      <img src="cover1.jpg" class="cover" />
      <img src="title1.png" class="title" />
      <img src="hero1.png" class="hero" />
    </div>
    <div class="card">
      <img src="cover2.jpg" class="cover" />
      <img src="title2.png" class="title" />
      <img src="hero2.png" class="hero" />
    </div>
  </body>
</html>

index.css

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body{
  width: 100vw;
  height: 100vh;
  margin: 0;
  /* 弹性盒 */
  display: flex;
  /* 水平居中 */
  justify-content:  center;
  /* 垂直居中 */
  align-items: center;
  /* backgroud: #191c29 */
  background: #fff;
}
.card{
  width: 200px;
  height: 300px;
  
  /* 设置card元素的边距 */
  margin: 0px 50px;
  /* 设置card元素在Y方向偏移-50% */
  transform: translateY(-50%);
  /* 设置定位类型为相对定位 */
  position: relative;
}

.card img{
  /* img元素在card元素中为绝对定位 */
  position: absolute;
  width: 100%;
  left: 0;
  /* 设置元素状态转换过度时间,消除转化过程中的卡顿感 */
  transition: 0.5s;
}
.card:hover .cover{
  /* perspective(500px) 设置平面和用户眼睛之间的距离*/
  /* rotateX(25deg) 鼠标移入card元素时将其中的cover元素绕x轴旋转25°*/
  transform: perspective(500px) rotateX(25deg);
  /* 设置一个下拉阴影,并设置阴影的颜色*/
  box-shadow: 0 35px 0px 10px rgba(0, 0, 0,0.7);
}

.cover {
  height: 100%;
  /* 将cover元素设置在第一层*/
  z-index: 1;
}

.hero {
  height: 100%;
  /* 将cover元素设置在第二层*/
  z-index: 2;
 opacity: 0;

}
.card:hover .hero{
  opacity: 1;
  /* perspective(500px) 设置平面和用户眼睛之间的距离*/
  /* translate3d 设置hero元素的xyz值*/
  transform: perspective(500px) translate3d(0,-25px,100px);
}
.title {
  /* 将cover元素设置在第3层*/
z-index: 3;
bottom: 0;

}
.card:hover .title{
  /* perspective(500px) 设置平面和用户眼睛之间的距离*/
  /* translate3d 设置hero元素的xyz值*/
  transform: perspective(500px) translate3d(0,-25px,50px);
}

图片

cover1.jpg

在这里插入图片描述

hero1.png

在这里插入图片描述

title1.png

THE DARK RIDER CHRIS MASON
在这里插入图片描述

cover2.jpg

在这里插入图片描述

hero2.png

在这里插入图片描述

title2.png

ZAQ CASS FORCE MAGE
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值