位置: IT常识 - 正文

520要来了,CSS3模拟3D旋转节日表白动画特效(520要来了要吵架的赶紧)

编辑:rootadmin
原力计划520要来了,CSS3模拟3D旋转节日表白动画特效

推荐整理分享520要来了,CSS3模拟3D旋转节日表白动画特效(520要来了要吵架的赶紧),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:520就要到了的说说,520要来了要吵架的赶紧,520要来了,但是女朋友没有给我说,520要到了,520要来了好紧张,520要来了在网上卖男女手表怎么说,520要来了要吵架的赶紧,520要来了,内容如对您有帮助,希望把文章链接给更多的朋友!

一年一度的520要来了,做为一名CSS3爱好者,怎么能不为大家的技术型表白做出一点贡献呢,这不,用CSS3模拟3D旋转的表白特效来了,快快拿去表白

目录

实现思路 

单层3D可见

HTML源代码

CSS3源代码


实现思路 

本文通过添加.scene类,添加.banner类,使其双层3D呈现 transform-style: preserve-3d ;

520要来了,CSS3模拟3D旋转节日表白动画特效(520要来了要吵架的赶紧)

然后将360度切割为24份,每份占用15度,进行内容分部;

再利用 animation 配合 transform 的Y轴旋转,达到3D旋转的效果

单层3D可见

我们知道如果是2D的,就是一个平面,无法看见对面的旋转背面,所以做3D旋转很炫酷,但如果单层3D可见旋转的话,会是这个样子

.scene { position: relative; transform-style: preserve-3d;}

但如果只保留 banner类中的3D可见,却又效果不同,但仍然不是我们想要的效果,这个时候虽然也出现了一定的3D效果,但背面却被遮挡了,我们是希望当前文案正面展示,背面的可见,达到一个真正的有角度的3D效果

.scene { position: relative; /* transform-style: preserve-3d; */}.banner { display: flex; transform-style: preserve-3d; -webkit-animation: rotate 24s infinite linear; animation: rotate 24s infinite linear;}

HTML源代码

将360度切割为24分段,每段占用15度的位置。然后给.panel类的::before属性添加content文案 “又是一个520,做我男朋友吧”。然后再针对 :nth-child 每一个切块,做出定位,使用 left hue 和 angle 属性

最终再利用.banner 的 animation动画,辅助以 transform: rotateY 来整体实现

<div class="scene"> <div class="banner"> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> </div></div>CSS3源代码body { background-color: #000; color: #fff; min-height: 100vh; display: grid; place-items: center; perspective: 500px; perspective-origin: 50% calc(50% - 150px);}.scene { position: relative; /* transform-style: preserve-3d; */}.banner { display: flex; transform-style: preserve-3d; -webkit-animation: rotate 24s infinite linear; animation: rotate 24s infinite linear;}@-webkit-keyframes rotate { to { transform: rotateY(-360deg); }}@keyframes rotate { to { transform: rotateY(-360deg); }}.panel { position: absolute; transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(190px); width: 50px; height: 120px; overflow: hidden;}.panel::before { position: absolute; left: var(--left); content: "又是一个520,做我男朋友吧"; font-size: 96px; width: -webkit-max-content; width: -moz-max-content; width: max-content; color: hsl(var(--hue), 75%, 75%);}.panel:nth-child(1) { --left: 0px; --hue: 0; --angle: 0deg;}.panel:nth-child(2) { --left: -50px; --hue: 15; --angle: 15deg;}.panel:nth-child(3) { --left: -100px; --hue: 30; --angle: 30deg;}.panel:nth-child(4) { --left: -150px; --hue: 45; --angle: 45deg;}.panel:nth-child(5) { --left: -200px; --hue: 60; --angle: 60deg;}.panel:nth-child(6) { --left: -250px; --hue: 75; --angle: 75deg;}.panel:nth-child(7) { --left: -300px; --hue: 90; --angle: 90deg;}.panel:nth-child(8) { --left: -350px; --hue: 105; --angle: 105deg;}.panel:nth-child(9) { --left: -400px; --hue: 120; --angle: 120deg;}.panel:nth-child(10) { --left: -450px; --hue: 135; --angle: 135deg;}.panel:nth-child(11) { --left: -500px; --hue: 150; --angle: 150deg;}.panel:nth-child(12) { --left: -550px; --hue: 165; --angle: 165deg;}.panel:nth-child(13) { --left: -600px; --hue: 180; --angle: 180deg;}.panel:nth-child(14) { --left: -650px; --hue: 195; --angle: 195deg;}.panel:nth-child(15) { --left: -700px; --hue: 210; --angle: 210deg;}.panel:nth-child(16) { --left: -750px; --hue: 225; --angle: 225deg;}.panel:nth-child(17) { --left: -800px; --hue: 240; --angle: 240deg;}.panel:nth-child(18) { --left: -850px; --hue: 255; --angle: 255deg;}.panel:nth-child(19) { --left: -900px; --hue: 270; --angle: 270deg;}.panel:nth-child(20) { --left: -950px; --hue: 285; --angle: 285deg;}.panel:nth-child(21) { --left: -1000px; --hue: 300; --angle: 300deg;}.panel:nth-child(22) { --left: -1050px; --hue: 315; --angle: 315deg;}.panel:nth-child(23) { --left: -1100px; --hue: 330; --angle: 330deg;}.panel:nth-child(24) { --left: -1150px; --hue: 345; --angle: 345deg;}

效果如图

 我准备了一个非常有意思的投票,大家看完了文章可以投个票哦,开心一下,一直到这里,你愿意给狗哥点个关注吗?

本文链接地址:https://www.jiuchutong.com/zhishi/298550.html 转载请保留说明!

上一篇:ChatGPT进阶-提示词中文版

下一篇:Adaboost算法详细讲解(adan算法)

  • 房地产开发企业资质管理规定
  • 附加税的计算公式2023
  • 个体户没做过账怎么办
  • 摄影服务属于哪个开票类目
  • 土地使用权摊销计入在建工程
  • 单位社保缴费基数怎么确定
  • 公司现金支付管理办法
  • 怎么才算小企业
  • 有形动产经营租赁税率
  • 购进财务软件折旧怎么算
  • 工业企业会计怎么结转成本
  • 银行现金支票怎么填
  • 增值税零税率发票预缴税额
  • 实收资本不到账如何做凭证
  • 制造费用处理
  • 地方水利建设基金的会计分录
  • 关于增值税报税的通知
  • 个人对公益事业的认识与看法
  • 企业所得税清算报备是什么意思
  • 税务局开的专票可以抵扣吗
  • type3插件
  • 增值税进项如何取得更多
  • vue中如何使用weboffice
  • 增值税专用发票上注明的价款含税吗
  • 工伤补贴如何做凭证
  • 增值税不允许抵扣计入什么科目
  • 企业财产租赁税率
  • 租金收入会计分录怎么写
  • php表单提交输入判断
  • thinkphp with
  • 浅谈php中的错误处理方法
  • 股东分红税率是20%还是25%
  • 如何在js中给字母排序
  • 年底计提成本
  • urlparse安装
  • 计提短期借款利息会计分录怎么写
  • 会计制度对企业财务管理的影响
  • 工会经费月月都缴纳吗?
  • 商业承兑到期后有效期
  • C语言中次方怎么表示
  • html前端开发教程
  • 出租房产怎么交房产税
  • sql server数据查询语句
  • mysql关闭连接命令
  • 什么叫挂往来
  • 对公账户一直没有对账,会有什么后果吗?
  • 应收账款损失率计算公式
  • 收到银行承兑汇票怎么兑现
  • 初级会计实务重点内容
  • 资本公积金转增股本会计处理
  • 车船使用税应该怎么交
  • 未摊销的费用怎样处理
  • 过路费计入差旅费还是车辆
  • 幼儿园报税的基础是什么
  • 代扣的应由职工个人负担的社会保险费计入什么科目
  • 可转换债券转换时的会计处理
  • 数据表的联接
  • 什么是分表分库
  • ubuntu help
  • Windows更新失败
  • init systemd
  • windows xp快捷键设置在哪
  • linux简明教程
  • 修改etc profile
  • android打包v1v2
  • 关于shell的说法,不正确的是
  • opengl api version
  • awk统计文件大小
  • 安装下载应用
  • shell脚本关闭指定程序
  • shell脚本生成文件
  • Android Fragment 体系 源码追踪笔记(4)
  • 并行 python
  • 【Rayeager PX2分享】OpenCV入门之线段检测
  • 如何将文件夹导入idea
  • 电子税务局浏览器版本太低
  • 天津税务查询电话
  • 购车强制险包括哪些
  • 车辆免征信息怎么查
  • 税额差怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设