纯css3制作煽动翅膀的蝴蝶的示例


Posted in HTML / CSS onApril 23, 2018

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

纯css3制作煽动翅膀的蝴蝶的示例

怎么样,效果还不错吧

上代码:

html

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

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 旋转。

纯css3制作煽动翅膀的蝴蝶的示例

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

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

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

demo下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
通过css3动画和opacity透明度实现呼吸灯效果
Aug 09 HTML / CSS
纯css3实现图片翻牌特效
Mar 10 HTML / CSS
详解CSS3中Media Queries的相关使用
Jul 17 HTML / CSS
CSS3的Flexbox布局的简明入门指南
Apr 08 HTML / CSS
html5定制表单_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 HTML / CSS
让IE下支持Html5的placeholder属性的插件
Sep 02 HTML / CSS
HTML5 Canvas的常用线条属性值总结
Mar 17 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
Jan 09 HTML / CSS
canvas像素点操作之视频绿幕抠图
Sep 11 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
CSS3使用transition属性实现过渡效果
Apr 18 #HTML / CSS
CSS3 二级导航菜单的制作的示例
Apr 02 #HTML / CSS
CSS3实现全景图特效示例代码
Mar 26 #HTML / CSS
css3新单位vw、vh的使用教程
Mar 23 #HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
Mar 22 #HTML / CSS
利用css3径向渐变做一张优惠券的示例
Mar 22 #HTML / CSS
css3 边框、背景、文本效果的实现代码
Mar 21 #HTML / CSS
You might like
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
javascript制作2048游戏
2015/03/30 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
js中的闭包实例展示
2018/11/01 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python模块future用法原理详解
2020/01/20 Python
Python文件操作基础流程解析
2020/03/19 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
暑期社会实践方案
2014/02/05 职场文书
狼和鹿教学反思
2014/02/05 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
在Django中使用MQTT的方法
2021/05/10 Python
Python 正则模块详情
2021/11/02 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL