css3D+动画的例子(附完整代码)

本篇文章给大家带来的内容是关于css3d+动画的例子(附完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。  在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective。

写一个简单的立方体

1、我们先用css实现一个长方体,一个长方体有6个边,我们写6个li,并用一个ul包裹起来,根据我写3D动画的经验,最好有一个父元素来包裹

立即学习“前端免费学习笔记(深入)”;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2、先给.parent设置宽高,并且给他设置视距和基点位置。

.parent{            width: 800px;            height: 400px;            border: 1px solid #000;            margin: 0 auto;            perspective: 2000px;            perspective-origin: -40% -80%;            background: #000;        }

3、给ul设置宽高以及preserve-3d属性保留子元素3d转换,子元素li全部绝对定位

        ul{            width: 50px;            position: relative;            margin: 100px auto;            transform-style : preserve-3d;        }         li{            width: 100px;            height: 100px;            background:  rgba(255, 255, 0, 0.3);            position: absolute;            text-align: center;                       border: 3px solid greenyellow;        }

效果如下图所示:

1462673038-5b70e99d5d54c_articlex.png

4、先写一个面,给他的背景设置 background:  rgba(255, 255, 0, 0.3);

 li:nth-child(1){            background:  rgba(255, 255, 0, 0.3);            transform:  translateY(50px) rotateX(90deg);        }

效果如下图所示:

3369746211-5b70e940019a9_articlex.png

5、我们写好了第一个面,然后我们在将其他6个面调整好,变成下图所示。关于rotate的旋转方向这里不解释,不懂的朋友可以自行查看其他文档。

        /*上面*/         li:nth-child(1){            transform: translateY(-50px) rotateX(90deg);        }         /*下面*/        li:nth-child(2){                    transform:  translateY(50px) rotateX(90deg);        }        /*左面*/        li:nth-child(3){            transform: translateX(-50px) rotateY(90deg);        }        /*右面*/        li:nth-child(4){            transform: translateX(50px) rotateY(90deg);        }        /*前面*/        li:nth-child(5){            transform: translateZ(50px);        }        /*后面*/        li:nth-child(6){            transform: translateZ(-50px);        }

效果如下图所示:

1056950737-5b70eb243e4ca_articlex.png

下面是两种css3D+动画的效果

1、代码如下:

                书页2            .container{            width: 1000px;            height: 650px;            background: #000;            perspective: 2000px;            border: 1px solid transparent;            overflow: hidden;            margin: 0 auto;            perspective-origin: 10% 20%;                   }            .cube{            width: 200px;            height: 300px;            transform-style: preserve-3d;            margin:100px auto;                        position: relative;            transform: rotateX(30deg);            border-radius: 50%;            padding: 60px;        }        .mian{            width: 200px;            height: 300px;            background-image: url(1.jpg);            background-position:400px 0;            position: absolute;                       border: 1px solid #ccc;            transition: 2s;        }        /* .mian1:hover{            transform-origin: right;            transform: rotateY(-60deg);        } */        .mian1{            transform-origin: right;            transform: translateX(-200px) rotateY(45deg);            background-position: 0 0;        }        .mian3{            transform-origin: left;            transform: translateX(200px) rotateY(45deg);            background-position: 200px 0;        }        .mian3:hover{            transform: translateX(200px) rotateY(0deg);        }         .mian1:hover{            transform: translateX(-200px) rotateY(0deg);        }        

2、代码如下:

                立方体            *{            margin: 0;            padding: 0;            list-style: none;        }        .parent{            width: 1000px;            margin:  0 auto;            height: 600px;            background: black;            perspective: 5000px;            perspective-origin: -40% -120%;            border: 1px solid #000;        }        ul{            width: 100px;            height: 300px;            position: relative;            margin:100px auto;            transform-style: preserve-3d;            animation: zuan 3s linear infinite;            border: 1px solid greenyellow;        }        li{            width: 100px;            height: 300px;            background:  rgba(0, 0, 0, 0.5);            position: absolute;            text-align: center;            line-height: 100px;                        border: 3px solid greenyellow;        }        li:nth-child(1){            transform: rotateY(30deg) translateZ(-200px);              }        li:nth-child(2){            transform: rotateY(60deg) translateZ(-200px);            background:  rgba(255, 0, 0, 0.5);        }        li:nth-child(3){            transform: rotateY(90deg) translateZ(-200px);                    }        li:nth-child(4){            transform: rotateY(120deg) translateZ(-200px);            background:  rgba(0, 0, 255, 0.5);        }        li:nth-child(5){            transform: rotateY(150deg) translateZ(-200px);                    }        li:nth-child(6){            transform: rotateY(180deg) translateZ(-200px);            background:  rgba(255, 0, 255, 0.5);        }        li:nth-child(7){            transform: rotateY(210deg) translateZ(-200px);              }        li:nth-child(8){            transform: rotateY(240deg) translateZ(-200px);            background:  rgba(0, 255, 0, 0.5);        }        li:nth-child(9){            transform: rotateY(270deg) translateZ(-200px);              }        li:nth-child(10){            transform: rotateY(300deg) translateZ(-200px);            background:  rgba(0, 255, 255, 0.5);        }        li:nth-child(11){            transform: rotateY(330deg) translateZ(-200px);              }        li:nth-child(12){            transform: rotateY(360deg) translateZ(-200px);            background:  rgba(255, 255, 255, 0.5);        }        @keyframes zuan{            0%{                transform: rotateY(0deg);            }            100%{                transform: rotateY(360deg);            }        }            

效果如下图:

2298908657-5b70eed2d024b_articlex.gif

相关推荐:

网页加载时样式效果css如何实现?(多种样式示例)

如何使用纯CSS实现一个微笑打坐的小和尚

字体加阴影效果怎么用css属性实现?(代码演示)

以上就是css3D+动画的例子(附完整代码)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
css怎么实现卡片图像翻转效果?(特效示例)
上一篇 2025年12月24日 02:00:07
BootStrap中动态模态框以及静态模态框的代码实现
下一篇 2025年12月24日 02:00:25

相关推荐

  • Element-UI表格合并后火狐浏览器滚动条异常:如何解决?

    Element-UI表格合并导致火狐浏览器滚动条异常的解决方法 在使用Element-UI的组件合并单元格后,尤其数据量较大时,火狐浏览器(Chrome浏览器也可能出现,但症状较轻)的滚动条会出现异常行为。本文将分析问题成因并提供解决方案。 问题代码片段中,objectSpanMethod方法根据m…

    2026年8月30日
    200
  • Laravel中CSS无法加载的解决方案

    Laravel中CSS无法加载的解决方案 当我们使用Laravel来开发网站或应用程序时,有时会遇到CSS无法加载的问题。这可能是因为文件路径设置不正确或者服务器配置不当。本文将为您介绍一些常见的解决方案,并附上具体的代码示例。 确保CSS文件路径正确首先,我们需要确保CSS文件的路径设置正确。在L…

    2026年8月30日
    000
  • Tailwind CSS变体失效:为什么焦点状态下的样式未生效?

    Tailwind CSS变体失效排查:解决焦点状态样式覆盖问题 在使用Tailwind CSS时,我们经常利用变体(variants)来创建条件样式。然而,有时变体效果不如预期,尤其是在处理焦点状态(:focus)时。本文分析一个案例,解释为什么hocus变体在按钮获得焦点时未能应用自定义样式,并提…

    2026年8月30日
    100
  • Tailwind CSS自定义变体失效了,为什么我的hover效果没生效?

    Tailwind CSS自定义变体失效的排查与解决 Tailwind CSS的自定义变体功能十分强大,但有时会遇到失效的情况。本文通过一个案例分析,讲解自定义变体失效的常见原因及解决方法。 案例:开发者尝试创建一个自定义变体,用于在元素悬停时改变文本颜色。在tailwind.config.js中定义…

    2026年8月30日
    200
  • 行内图片如何与文本基线完美对齐?

    行内图片与基线对齐的挑战 网页设计中,图片常被用作行内元素。然而,精确控制行内图片(特别是元素)与其父元素文本基线对齐却并非易事。本文通过一个案例分析,深入探讨行内图片的基线对齐机制以及margin属性的影响。 问题:图片与文本基线对齐失效 假设一个元素包含文本和一个元素,目标是使图片下边缘与文本下…

    2026年8月30日
    300
  • VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程

    VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程VSCode怎么弄HTML_VSCode创建和编写HTML文件基础入门教程

    答案:VSCode通过Emmet、Live Server等扩展和智能提示功能,极大提升了HTML编写效率,其语义化标签支持与实时预览能力让开发更高效流畅。 在VSCode里处理HTML,其实比想象中要简单直观得多,它简直就是为前端开发量身定制的。对我来说,它不仅是一个编辑器,更像是一个高效的工作伙伴…

    2026年8月30日 用户投稿
    500
  • VSCode怎么打出基本代码_VSCode使用代码片段快速生成基础结构教程

    VSCode通过内置、自定义和扩展三种方式实现代码片段快速生成,提升开发效率。使用内置片段如html:5或log可一键生成常用结构;通过“Configure User Snippets”创建自定义片段,如用rfc生成React函数组件,并利用$1、$2等占位符实现光标跳转与同步编辑;安装高评分扩展如…

    2026年8月30日
    300
  • 小程序轮播图图片自适应:不用JavaScript,如何让图片充满49%宽度容器且高度自适应?

    小程序轮播图图片自适应:无需javascript,让图片充满49%宽度容器且高度自适应! 许多小程序开发者都面临着图片自适应的挑战。本文将解决一个实际案例:在宽度49%,高度200px的容器中,实现轮播图图片宽度100%填充容器,高度自适应,且不使用mode=”widthFix”属性(因Bug无法使…

    2026年8月30日
    100
  • vivo浏览器怎么找到离线网页_vivo浏览器已保存离线网页的查看路径

    可通过“我的收藏”、下载记录或文件管理器查找vivo浏览器保存的离线网页。首先打开vivo浏览器,点击底部菜单进入“我的收藏”,查找带“已离线”标签的网页;若未找到,进入“下载记录”查看类型为网页或HTML的项目;若仍无法定位,可打开文件管理器,在内部存储的Android/data/com.bbk.…

    2026年8月30日
    200
  • VSCode怎么把Markdown保存_VSCode导出和转换Markdown文件格式教程

    答案是使用自动保存、Git版本控制和插件如Markdown PDF与Pandoc可高效保存并转换Markdown;通过相对路径管理图片、自定义CSS或Pandoc模板可避免导出格式错乱。 VSCode保存Markdown文件非常直接,它有自动保存功能,手动Ctrl+S也随时可用。至于导出和转换,这通…

    2026年8月30日
    100
  • 数智共振!三七互娱与华为构筑文娱产业新生态

    当人工智能、5g与云计算等数字技术以前所未有的方式重构文娱产业格局,沉浸式体验、个性化推荐以及全球化分发逐渐成为新常态,数字基建已成为推动文娱产业升级、连接全球用户的关键动力。 在数智文娱创新领域,总部设于广州的全球知名文娱企业三七互娱,依托“文化+科技”双轮驱动战略,在智慧办公空间建设、全球文化I…

    2026年8月29日
    100
  • 点击进入ao3网页版通道 ao3网页版经典同人永久收藏

    AO3是同人爱好者的宝藏平台,因其用户友好的标签系统、非营利性质和对创作自由的尊重而备受青睐。通过 archiveofourown.org 可直接访问,支持精准搜索、自定义界面皮肤、整本加载与多格式下载,便于顺畅浏览与永久收藏优质同人作品。 访问AO3的网页版其实非常直接,它就是那个能让你一头扎进无…

    2026年8月29日
    200
  • mPDF 中单页内容输出的挑战与策略

    在使用 mPDF 将 HTML 导出为 PDF 时,用户常希望所有内容能保持在单个页面内。然而,mPDF 对自动分页的控制能力有限,且不提供“孤行”或“孤儿行”保护机制。这意味着,若内容自然超出页面边界,mPDF 将自动分页,难以强制所有内容在单页显示。理解其分页机制的局限性是实现预期输出的关键。 …

    2026年8月29日
    200
  • 安谋科技CEO陈锋:立足全球标准与本土创新,赋能AI计算“芯”时代

    安谋科技CEO陈锋:立足全球标准与本土创新,赋能AI计算“芯”时代安谋科技CEO陈锋:立足全球标准与本土创新,赋能AI计算“芯”时代安谋科技CEO陈锋:立足全球标准与本土创新,赋能AI计算“芯”时代安谋科技CEO陈锋:立足全球标准与本土创新,赋能AI计算“芯”时代

    7月11日,2025中国集成电路设计创新大会暨ic应用生态展(icdia2025)在苏州金鸡湖国际会议中心隆重开幕。安谋科技(中国)有限公司(以下简称“安谋科技”)ceo陈锋受邀出席大会高峰论坛,并发表题为《立足全球标准与本土创新,赋能ai计算“芯”时代》的主旨演讲。围绕当前ai大模型技术的发展趋势…

    2026年8月29日 用户投稿
    000
  • 天猫店铺首页装修步骤是什么?天猫店铺首页装修教程

    提升天猫店铺形象需从首页装修入手,首先进入商家后台选择PC端首页装修,接着选用匹配类目的模板快速美化页面,有设计能力者可自定义全屏海报并嵌入热区代码,随后添加轮播图、商品推荐、店招等核心模块优化信息布局,最后切换至手机端调整排版与组件确保移动端体验流畅。 如果您希望提升天猫店铺的专业形象和用户体验,…

    2026年8月29日
    100
  • yii2asset使用cdn

    在 Yii2 中使用 CDN 加速资源可以:注册一个 CDN 服务,并在其中设置 CDN 区域和缓存规则。在 Yii2 配置文件中配置 CDN:添加 CDN URL、启用链接资产、指定要加速的包。例如,使用 Bootstrap 资产时,可将其 CDN 配置为 ‘//cdn.example…

    2026年8月29日
    100
  • 百度浏览器兼容模式切换 解决网页显示问题的实用指南

    兼容模式可解决百度浏览器访问老旧网站时的显示问题,通过切换至IE内核模拟渲染。2. 网页异常多因历史遗留技术与现代标准不兼容,兼容模式用Trident内核适配旧站,极速模式用Blink内核支持现代网页。3. 布局错乱、功能失效、资源无法加载等现象提示需切换兼容模式,点击地址栏右侧IE图标选择即可。 …

    2026年8月29日
    000
  • laravel8 的优化点

    Laravel 8 针对性能优化提供了以下选项:缓存配置:使用 Redis 缓存驱动、缓存门面、缓存视图和页面片段。数据库优化:建立索引、使用查询范围、使用 Eloquent 关系。JavaScript 和 CSS 优化:使用版本控制、合并和缩小资产、使用 CDN。代码优化:使用 Composer …

    2026年8月29日
    100
  • iaravel 如何学习

    学习 Laravel 的步骤有:具备 PHP 基础知识。安装 Laravel 框架。了解 Laravel 架构。学习基本语法:路由、控制器、视图、模型。构建小型应用练习框架使用。参阅官方文档获取详细指引。加入社区交流心得、寻求帮助。保持更新,关注新特性。 如何学习 Laravel Laravel 是…

    2026年8月29日
    000
  • VSCode盒子背景怎么居中_VSCode界面元素居中显示教程

    答案:通过Zen模式结合手动调整窗口大小,可实现VSCode代码区域的视觉居中。进入Zen模式(Ctrl+K Z)隐藏非编辑元素,再将窗口拖窄并置于屏幕中央,使代码居中显示,提升专注度;也可使用“Centered Editor”类插件强制居中,或利用系统窗口管理功能优化布局。配合主题、字体、面板位置…

    2026年8月29日
    100

发表回复

登录后才能评论
关注微信