• 技术文章 >web前端 >css教程

    利用css3制作煽动翅膀的蝴蝶的代码

    不言不言2018-06-20 15:19:53原创923
    这篇文章主要介绍了纯css3制作煽动翅膀的蝴蝶的示例的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。

    纯css3制作煽动翅膀的蝴蝶,先看效果

    怎么样,效果还不错吧

    上代码:

    html

    <p id="butterfly">
        <p class="leftSide"></p>
        <p class="body"></p>
        <p class="rightSide"></p>
    </p>

    css

    body{
                background: url("./images/bg.jpg") no-repeat;
            }
            #butterfly{
                width: 600px;
                height: 500px;
                position: relative;
                transform: scale(0.35);
                transform-style: preserve-3d;
            }
            .leftSide{
                width: 267px;
                height: 421px;
                background: url("./images/leftSide.png") no-repeat;
                position: absolute;
                left: 26px;
                top: 40px;
                animation: left 2s infinite;
                z-index: 9999;
            }
            @keyframes left {
                0%{
                    transform: rotateY(0deg);
                    transform-origin: right center;
                    perspective: 201px;
    
                }
                50%{
                    transform: rotateY(70deg);
                    transform-origin: right center;
                    perspective: 201px;
    
                }
                100%{
                    transform: rotateY(0deg);
                    transform-origin: right center;
                    perspective: 201px;
                }
            }
            @keyframes right {
                0%{
                    transform: rotateY(0);
                    transform-origin: left center;
                    perspective: 201px;
    
                }
                50%{
                    transform: rotateY(-70deg);
                    transform-origin: left center;
                    perspective: 201px;
    
                }
                100%{
                    transform: rotateY(0);
                    transform-origin: left center;
                    perspective: 201px;
    
                }
            }
            .body{
                width: 152px;
                height: 328px;
                background: url("./images/body.png") no-repeat;
                position: absolute;
                margin: auto;
                left: 0;
                right: 0;
                bottom: 0;
                top: 0;
                z-index: 9999;
            }
            .rightSide{
                width: 284px;
                height: 460px;
                background: url("./images/rightSide.png") no-repeat;
                position: absolute;
                right: 26px;
                top: 58px;
                animation: right 2s infinite;
                z-index: 9999;
            }

    在这之前介绍几个css属性;

    @keyframes

    1. 通过 @keyframes 规则,我们能够创建动画

    2. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式

    3. 以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

    4. 0% 是动画的开始时间,100% 动画的结束时间

    transform: rotateY()

    1. transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

    2. rotateY()定义沿着 Y 轴的 3D 旋转。

    这张图很直观的说明了xyz轴,其实学过3DS MAX这类3d建模软件的同学应该更为熟悉这个3轴的指向。

    实现思路:先用子绝父相将左翅膀,右翅膀,和身体进行绝对定位,拼合在一起,然后利用transform的rotateY使其沿y轴旋转,旋转这里使用@keyframe动画,然后重复动作。

    还要重点介绍下transform-style: preserve-3d;这个属性,w3c 的说明是 使被转换的子元素保留其 3D 转换。也就是所有子元素在3D空间中呈现,相反设置为flat的话,则所有子元素在2D空间中呈现

    以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

    相关推荐:

    使用用css3实现气球样式的效果

    利用CSS3实现仿微信聊天小气泡

    使用HTML和CSS3模拟心跳的实现方法

    以上就是利用css3制作煽动翅膀的蝴蝶的代码的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:关于不同浏览器下的CSS中Hack的兼容性 下一篇:关于CSS background的使用方法
    大前端线上培训班

    相关文章推荐

    • 聊聊css为什么需要模块化?怎么进行模块化?• css调用方法是什么• css怎么去除表格边框• uniapp开发饿了么微信小程序首页sticky粘性定位布局• 怎么看网页css

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网