css实现3d动画特效的代码实例

本篇文章给大家带来的内容是关于css实现3d动画特效的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

首先让我们来看一张效果图

1.1.1

527134537-5b70f2b61b784_articlex.gif

属性

perspective :透距离,单位像素(值越小,透视距离越近,效果越明显):设置父元素上

perspective-origin: 设置透视点的位置

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

transform-style :指定某元素的子元素是位于三维空间内,取值:flat | preserve-3d

1.1.1思路

(1)有三个p,一起放到一个盒子里面。

  

(2)为其盒子设置样式

.cube{        width: 200px;        height: 300px;        transform-style: preserve-3d;        margin:100px auto;               position: relative;        transform: rotateX(30deg);        border-radius: 50%;            padding: 60px;    }

(3)为其每个p设置样式

 .mian{        width: 200px;        height: 300px;        background-image: url(1.jpg);        background-position:400px 0;        position: absolute;        background: url(aka.jpg);        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;    }    .mian2{        background-position: 400px 0;    }    .mian3{        transform-origin: left;        transform: translateX(200px) rotateY(45deg);        background-position: 200px 0;    }

(4)为其设置动画

 .mian3:hover{        transform: translateX(200px) rotateY(0deg);    }     .mian1:hover{        transform: translateX(-200px) rotateY(0deg);    }

1.1.1源码:

                书页            .container{            width: 1000px;            height: 650px;                 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;            background: url(aka.jpg);            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;        }        .mian2{            background-position: 400px 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);        }        

1.1.2

2094583391-5b70f66722968_articlex.gif

1.1.2思路:

(1)有五个p,分别放上五个字。

  

(2)给box和p总体设置样式

 #box{        margin: 100px auto;        font-size: 100px;        color:#005aa0;        text-align: center;    } .ze1,.ze2,.ze3,.ze4,.ze5{        display: inline-block;        width: 90px;        height: 100%;        position: relative;    }

(3)设置伪元素before和after

  .ze1:before,.ze2:before,.ze3:before,.ze4:before,.ze5:before{        content:attr(data);        position: absolute;        color: #ffffff;        top:0;        left: 2px;        transform-origin: left;        transition: transform .5s;    }    .ze1:before{        content: "前";    }    .ze2:before{        content: "端";    }    .ze3:before{        content: "小";    }    .ze4:before{        content: "学";    }    .ze5:before{        content: "生";    }    .ze1:after,.ze2:after,.ze3:after,.ze4:after,.ze5:after {        position: absolute;        color: #b3b3b3;        top:3px;        left: 10px;        z-index: -1;        transform-origin: left;        transition: transform .5s;    }    .ze1:after{        content: "前";    }    .ze2:after{        content: "端";    }    .ze3:after{        content: "小";    }    .ze4:after{        content: "学";    }    .ze5:after{        content: "生";    }

(4)为其设置动画

.ze1:hover:before,.ze2:hover:before,.ze3:hover:before,.ze4:hover:before,.ze5:hover:before{        transform: rotateY(-40deg) skewY(10deg);    }    .ze1:hover:after,.ze2:hover:after,.ze3:hover:after,.ze4:hover:after,.ze5:hover:after{        transform: rotateY(40deg) skewY(10deg);    }

1.1.2源码:

        动态字            #box{            margin: 100px auto;            font-size: 100px;            color:#005aa0;            text-align: center;        }        .ze1,.ze2,.ze3,.ze4,.ze5{            display: inline-block;            width: 90px;            height: 100%;            position: relative;        }        .ze1:before,.ze2:before,.ze3:before,.ze4:before,.ze5:before{            content:attr(data);            position: absolute;            color: #ffffff;            top:0;            left: 2px;            transform-origin: left;            transition: transform .5s;        }        .ze1:before{            content: "前";        }        .ze2:before{            content: "端";        }        .ze3:before{            content: "小";        }        .ze4:before{            content: "学";        }        .ze5:before{            content: "生";        }        .ze1:after,.ze2:after,.ze3:after,.ze4:after,.ze5:after {            position: absolute;            color: #b3b3b3;            top:3px;            left: 10px;            z-index: -1;            transform-origin: left;            transition: transform .5s;        }        .ze1:after{            content: "前";        }        .ze2:after{            content: "端";        }        .ze3:after{            content: "小";        }        .ze4:after{            content: "学";        }        .ze5:after{            content: "生";        }        .ze1:hover:before,.ze2:hover:before,.ze3:hover:before,.ze4:hover:before,.ze5:hover:before{            transform: rotateY(-40deg) skewY(10deg);        }        .ze1:hover:after,.ze2:hover:after,.ze3:hover:after,.ze4:hover:after,.ze5:hover:after{            transform: rotateY(40deg) skewY(10deg);        }        

1.1.3思路不写,只写源码

1.1.3源码:

                  3d动画           body{    margin: 0;       background:url(iom.jpg) ;     background-size:100%;    position: relative;}.box{    width:430px;    height: 430px;    position: absolute;;    top:100px;    left: 480px;    border: 1px solid #ccc;    border-radius: 215px;    text-align: center;    animation: dong 20s infinite linear;   }.ai{    width:10px;    height: 10px;    background: #0c0;    border-radius: 5px;    position: absolute;    right:38px;    top: 340px;}@keyframes dong{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.mrin{    width:320px;    height: 320px;    border:1px solid #ccc;    border-radius: 180px;    position: absolute;    top:155px;    left: 535px;     animation: mi 15s infinite linear;}.ak{    width:50px;    height: 50px;    border: 1px solid #ccc;    margin: 20px 0 0 20px;    border-radius: 25px;    display: inline-block;    animation: ol 5s infinite linear;}.ak .sj1{    width:10px;    height:10px;    border-radius: 5px;    margin:20px 0 0 20px;    background: blue;}.ak .sj2{    width: 10px;    height: 10px;    margin-top:5px;    background: #fff;    border-radius: 5px;}@keyframes mi{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}@keyframes ol{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.mian{    width: 240px;    height: 240px;    border:1px solid #ccc;    position: absolute;    border-radius: 120px;    top:195px;    left:575px;    animation: af 5s infinite linear;}.mian .ap{    width: 10px;    height: 10px;    border-radius: 5px;    background: #f0f;    margin:30px 0 0 30px; }@keyframes af{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.chen{    width: 160px;    height: 160px;    border: 1px solid #ccc;    position: absolute;    border-radius: 80px;    top:235px;    left:615px;    animation: oa 4s infinite linear;}.ze{    width: 10px;    height: 10px;    border-radius: 5px;    background: #0c0;    margin: 20px 0 0 15px;}@keyframes oa{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.yu{    width: 80px;    height: 80px;    background-color:darkorange;    border-radius: 40px;    position: absolute;    top:275px;    left:655px;    opacity: .7;}            

.ak .sj2{    width: 10px;    height: 10px;    margin-top:5px;    background: #fff;    border-radius: 5px;}@keyframes mi{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}@keyframes ol{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.mian{    width: 240px;    height: 240px;    border:1px solid #ccc;    position: absolute;    border-radius: 120px;    top:195px;    left:575px;    animation: af 5s infinite linear;}.mian .ap{    width: 10px;    height: 10px;    border-radius: 5px;    background: #f0f;    margin:30px 0 0 30px; }@keyframes af{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.chen{    width: 160px;    height: 160px;    border: 1px solid #ccc;    position: absolute;    border-radius: 80px;    top:235px;    left:615px;    animation: oa 4s infinite linear;}.ze{    width: 10px;    height: 10px;    border-radius: 5px;    background: #0c0;    margin: 20px 0 0 15px;}@keyframes oa{    0%{        transform:rotate(0deg)    }    100%{        transform:rotate(720deg)    }}.yu{    width: 80px;    height: 80px;    background-color:darkorange;    border-radius: 40px;    position: absolute;    top:275px;    left:655px;    opacity: .7;}            

相关推荐:

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

css怎么实现卡片图像翻转效果?(特效示例)

以上就是css实现3d动画特效的代码实例的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:02:39
下一篇 2025年12月24日 02:02:57

相关推荐

  • CSS盒模型中两种模型的简单介绍

    本篇文章给大家带来的内容是关于css盒模型中两种模型的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 基本概念 盒模型是有两种标准的,一个是标准模型,一个是IE模型。 标准模型中,盒模型的宽高只是内容(content)的宽高 IE模型中盒模型的宽高是内容(content)+…

    2025年12月24日
    000
  • 如何使用CSS实现货车loader的效果

    本篇文章给大家带来的内容是关于如何使用css实现货车loader的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器代表卡车,包含的 2 个子元素代表车头和尾气; 代表道路: 立即学习“前端免费学习笔记(深入)”; 居中显示,同时道路与页面之…

    2025年12月24日
    000
  • 如何使用纯CSS实现一只移动的小白兔动画效果

    本篇文章给大家带来的内容是关于如何使用纯css实现一只移动的小白兔动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,页面中包含 2 个元素,分别代表兔子和云朵: 立即学习“前端免费学习笔记(深入)”; 居中显示: body { margin:…

    2025年12月24日
    000
  • 如何使用纯CSS实现一个微笑打坐的小和尚

    本篇文章给大家带来的内容是关于如何使用纯css实现一个微笑打坐的小和尚 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览: 代码解读: 定义 dom,容器中包含的几个元素分别代表头部、眼睛、嘴、身体和腿: 立即学习“前端免费学习笔记(深入)”; 居中显示: body { m…

    2025年12月24日
    000
  • css flex布局(弹性布局)的属性有哪些?css flex布局属性的介绍

    本篇文章给大家带来的内容是关于css flex布局(弹性布局)的属性有哪些?css flex布局属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局…

    好文分享 2025年12月24日
    000
  • css3D+动画的例子(附完整代码)

    本篇文章给大家带来的内容是关于css3d+动画的例子(附完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前言 最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。  在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-sty…

    2025年12月24日 好文分享
    000
  • 如何使用CSS 和D3实现摆线摇摆的效果动画

    本篇文章给大家带来的内容是关于如何使用css 和d3实现摆线摇摆的效果动画,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器中包含 3 个元素,代表 3 条摆线: 居中显示: body { margin: 0; height: 100vh; di…

    2025年12月24日
    000
  • css实现表格的行和列相互交换的代码

    这篇文章给大家介绍的内容是关于css实现表格的行和列相互交换的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 行列互换table {border: 1px solid #ccc;font-size: 14px;}table th {background: orange;colo…

    好文分享 2025年12月24日
    000
  • css如何在菜单上实现对勾?(代码)

    本篇文章给大家带来的内容是关于css如何在菜单上实现对勾?(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 :after :before li { list-style-type: none; position: relative; margin: 2px; padding:…

    2025年12月24日
    000
  • css实现布局时可以用的几个技巧(代码)

    本篇文章给大家带来的内容是关于css实现布局时可以用的几个技巧(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 面对似曾相识的布局 侧边固定中间自适应,头部固定中间自适应,长得差不多的panel组件,model组件 我们有前端框架bootstrap,easyui都有提供这些组…

    好文分享 2025年12月24日
    000
  • css中Flex布局如何实现九宫格的样式(代码)

    本篇文章给大家带来的内容是关于css中flex布局如何实现九宫格的样式(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 .block { padding-top: 30%; margin-top: 3%; border-radius: 10%; background-col…

    2025年12月24日
    000
  • CSS布局有哪些?css常见的布局方式(附代码)

    css布局有哪些?css布局可以让页面看起来比较美观整洁,接下来的这篇文章给大家总结了css中常见的几种布局方式,让我们具体的看一看。 水平居中布局 1、margin + 定宽 Demo .child { width: 50px; margin: 0 auto; } 运行结果: 立即学习“前端免费学…

    2025年12月24日 好文分享
    000
  • 如何使用CSS实现过山车loader的动画效果

    本篇文章给大家带来的内容是关于如何使用css实现过山车loader的动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器中包含 3 个元素,代表 3 个圆点: 立即学习“前端免费学习笔记(深入)”; 居中显示: body { margin:…

    2025年12月24日
    000
  • css三栏布局的三种实现方式(圣杯布局、双飞翼布局、Flex布局)

    本篇文章给大家带来的内容是关于lnmp以源码的方式记录环境搭建的过程(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果图: 圣杯布局 圣杯.container{ padding:0 200px 0 180px; height:100px;}.left{ float:lef…

    2025年12月24日
    000
  • 什么是css?css三种样式以及文字属性的介绍

    这篇文章给大家介绍的内容是关于什么是css?css三种样式以及文字属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是CSS? Cascading Style Sheets,简称CSS,层叠样式表。  用来修饰HTML文件,对网页元素进行排版或大小控制等操作。  也就是…

    好文分享 2025年12月24日
    000
  • css box-sizing属性(盒子模型)的用法介绍

    本篇文章给大家带来的内容是关于CSS中text-transform属性实现字符串转换的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1.关于box-sizing: 属性用于更改用于计算元素宽度和高度的默认的 css 盒子模型。 值有:content-box(默认值),bord…

    2025年12月24日
    000
  • 如何使用纯CSS实现一头绿猪的效果

    本篇文章给大家带来的内容是关于如何使用纯css实现一头绿猪的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-ch…

    2025年12月24日
    000
  • CSS中流体布局、元素以及尺寸的介绍

    这篇文章给大家介绍的内容是关于css中流体布局、元素以及尺寸的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、 流体布局引出的几种网页布局方式 布局方式 描述 特点 场景 静态布局Static Layout,传统Web设计,网页上的所有元素的尺寸一律使用px作为单位。不管浏…

    2025年12月24日
    000
  • CSS中盒模型中四个属性的介绍(附代码)

    本篇文章给大家带来的内容是关于css中盒模型中四个属性的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、替换元素与非替换元素 根据“外在盒子”是内联还是块级我们可以把元素分为内联元素和块级元素,而根据是否具有可替换内容,我们也可以把元素分为替换元素和非替换元素 1…

    2025年12月24日
    000
  • css属性:css伪类和css伪元素的区别(附代码)

    css伪元素和伪类对于刚学习css的同学来说可能会容易混淆,官方文档中解释:css 伪类用于向某些选择器添加特殊的效果,css 伪元素是用于将特殊的效果添加到某些选择器。那么,css伪元素和伪类的区别究竟在哪?本文将给大家细细的说道说道。 首先可以明确两点,第一:两者都与选择器相关,第二:就是添加一…

    好文分享 2025年12月24日
    000

发表回复

登录后才能评论
关注微信