【CSS】3D卡片效果

效果

在这里插入图片描述

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
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML 3D卡片的制作方法有以下几个步骤: 1. 了解CSS 3D转换属性: 在制作HTML 3D卡片前,需要先了解CSS 3D转换属性,包括旋转、平移和缩放。这些属性可以通过CSS样式表的transform属性来实现。 2. 创建卡片HTML结构: 在HTML中,需要创建一个包含卡片内容的容器元素。可以使用div元素或其他适合的元素作为容器。在容器内部,可以添加需要展示的文本、图片或其他HTML元素。 3. 添加CSS样式: 使用CSS样式表来定义卡片的外观和行为。可以通过添加样式来设置卡片容器的宽度、高度、背景色、边框等属性。同时,还可以使用box-shadow属性为卡片添加阴影效果。 4. 应用3D转换效果: 使用CSS的transform属性来实现卡片3D效果。可以通过rotateX、rotateY和rotateZ属性来分别实现绕X轴、Y轴和Z轴的旋转效果。此外,还可以使用translateX、translateY和translateZ属性来实现卡片的平移效果。 5. 添加过渡动画效果: 使用CSS的transition属性来为卡片添加平滑的过渡动画效果。可以为卡片容器设置transition属性,指定过渡的属性、时间和延迟。 6. 完善交互效果: 可以使用JavaScript来为卡片添加交互效果。例如,可以使用鼠标事件监听器来实现鼠标悬停时的翻转效果,或者通过点击事件监听器来实现点击展开或关闭的效果。 以上就是制作HTML 3D卡片的基本方法。通过灵活运用CSS和JavaScript,可以实现各种各样的3D卡片效果,使网页更加生动和有趣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值