当前位置: 首页 > news >正文

HTMLCSS:3D 旋转卡片的炫酷动画

效果演示

这段代码是一个HTML和CSS的组合,用于创建一个具有3D效果的动画卡片。

HTML

<div class="obj"><div class="objchild"><span class="inn6"><h3 class="text">我是谁?我在那</h3></span></div>
</div>
  • obj:创建了一个类名为 “obj” 的div元素,它将作为3D对象的容器。
  • objchild:创建了一个类名为 “objchild” 的div元素,它将作为3D对象的子元素。
  • inn6:创建了一个类名为 “inn6” 的span元素,它将包含文本内容。
  • text:创建了一个标题为 “我是谁?我在那” 的h3元素,它将显示在页面上。

CSS

.obj {position: relative;width: 200px;height: 200px;transform-style: preserve-3d;transition: 0.5s all;transform: rotateX(-25deg) rotateY(20deg);}.objchild {animation: rotate 4s infinite linear;transform-style: preserve-3d;position: absolute;width: 100%;height: 100%;border-radius: 10px;
}.objchild::after {content: "";position: absolute;width: 100%;height: 100%;filter: blur(20px);box-shadow: 0 0 200px 15px white;transform: rotateX(90deg) scale(1.1) translateZ(-120px);
}.inn6 {position: absolute;width: 100%;height: 100%;background: rgb(21, 21, 21);transform: rotateX(90deg) translateZ(100px);animation: updown 4s infinite ease-in-out;border-radius: 10px;
}.text {color: #fff;font-size: 20px;text-align: center;line-height: 200px;font-weight: 600;
}@keyframes rotate {0% {transform: rotate3d(0, 1, 0, 0deg);}100% {transform: rotate3d(0, 1, 0, 360deg);}
}@keyframes updown {0% {transform: translateY(100px) rotateX(90deg) translateZ(100px);}50% {transform: translateY(200px);}100% {transform: translateY(100px) rotateX(450deg) translateZ(100px);}
}
  • .obj 类定义了一个相对定位的容器,宽200px,高200px。transform-style: preserve-3d; 保持3D效果,transition: 0.5s all; 表示所有属性的过渡时间为0.5秒。transform: rotateX(-25deg) rotateY(20deg); 表示对象将绕X轴旋转-25度,绕Y轴旋转20度。
  • .objchild 类定义了一个绝对定位的子元素,它将填满其父元素。animation: rotate 4s infinite linear; 表示动画名为 “rotate”,持续时间为4秒,无限循环,线性速度。transform-style: preserve-3d; 保持3D效果。
  • .objchild::after 是一个伪元素,用于创建一个模糊的白色光晕效果。filter: blur(20px); 应用20像素的模糊效果,box-shadow: 0 0 200px 15px white; 创建一个白色的阴影效果,transform: rotateX(90deg) scale(1.1) translateZ(-120px); 表示伪元素将绕X轴旋转90度,放大1.1倍,并在Z轴上向后移动。
  • .inn6 类定义了一个绝对定位的span元素,它将填满其父元素。背景色为黑色,transform: rotateX(90deg) translateZ(100px); 表示元素将绕X轴旋转90度,并在Z轴上向前移动100px。animation: updown 4s infinite ease-in-out; 表示动画名为 “updown”,持续时间为4秒,无限循环,缓动函数为ease-in-out。
  • @keyframes rotate 定义了一个名为 “rotate” 的关键帧动画,从0度旋转到360度。
  • @keyframes updown 定义了一个名为 “updown” 的关键帧动画,元素将上下移动,并在X轴和Z轴上旋转。
http://www.lryc.cn/news/480648.html

相关文章:

  • Node.js 全栈开发进阶篇
  • SQL语句-MySQL
  • Tencent Hunyuan3D
  • [ABC239E] Subtree K-th Max
  • Axure设计之左右滚动组件教程(动态面板)
  • 善用Git LFS来降低模型文件对磁盘的占用
  • Oracle RAC的thread
  • 如何创建备份设备以简化 SQL Server 备份过程?
  • DeBiFormer实战:使用DeBiFormer实现图像分类任务(一)
  • 【go从零单排】迭代器(Iterators)
  • Java与HTML:构建静态网页
  • 软件测试:测试用例详解
  • FreeSWITCH Ubuntu 18.04 源码编译
  • spring—boot(整合redis)
  • Python 包镜像源
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容
  • Unity3D ASTC贴图压缩格式详解
  • Docker的轻量级可视化工具Portainer
  • udp丢包问题
  • 儿童安全座椅行业全面深入分析
  • 【笔记】扩散模型(九):Imagen 理论与实现
  • 05 SQL炼金术:深入探索与实战优化
  • Linux用lvm格式挂载磁盘
  • Xshell,Shell的相关介绍与Linux中的权限问题
  • 考研要求掌握的C语言(选择排序)
  • 达梦8数据库适配ORACLE的8个参数
  • CSS实现文字渐变效果
  • 3. Redis的通用命令介绍
  • [spark面试]spark与mapreduce的区别---在DAG方面
  • tomcat启动失败和缓存清理办法