纯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实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
css3旋转木马_动力节点Java学院整理
Jul 12 HTML / CSS
把富文本的回车转为br标签
Aug 09 HTML / CSS
html5 跨文档消息传输示例探讨
Apr 01 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
Apr 22 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 HTML / CSS
HTML最新标准HTML5总结(必看)
Jun 13 HTML / CSS
Html5跳转到APP指定页面的实现
Jan 14 HTML / CSS
CSS3实现三角形不断放大效果
Apr 13 HTML / CSS
HTML页面滚动时部分内容位置固定不滚动的实现
Apr 14 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
使用CSS设置滚动条样式
Jan 18 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
php项目打包方法
2008/02/18 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
百度地图API使用方法详解
2015/08/25 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
pandas中去除指定字符的实例
2018/05/18 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
python根据文本生成词云图代码实例
2019/11/15 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
什么是Rollback Segment
2013/04/22 面试题
保密普查工作实施方案
2014/02/25 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
2016年父亲节寄语
2015/12/04 职场文书
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers