纯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实现动态的二级三级菜单效果实例源码
Jan 04 HTML / CSS
css背景图片的背景裁切、背景透明度、背景变换等效果运用
Dec 24 HTML / CSS
CSS3实现可翻转的hover效果
May 23 HTML / CSS
CSS3实现线性渐变用法示例代码详解
Aug 07 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
Nov 10 HTML / CSS
canvas烟花特效锦集
Jan 17 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
Oct 26 HTML / CSS
前端实现打印图像功能
Aug 27 HTML / CSS
canvas简单连线动画的实现代码
Feb 04 HTML / CSS
AmazeUI 输入框组的示例代码
Aug 14 HTML / CSS
如何通过 CSS 写出火焰效果
Mar 24 HTML / CSS
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
Jul 01 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 更新数据库中断的解决方法
2009/06/05 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP自定义错误用法示例
2016/09/28 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
基于jquery的一个图片hover的插件
2010/04/24 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
详解django三种文件下载方式
2018/04/06 Python
python得到电脑的开机时间方法
2018/10/15 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
Python实现代码块儿折叠
2020/04/15 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
房地产开发计划书
2014/01/10 职场文书
开业庆典策划方案
2014/02/18 职场文书
校园文化标语
2014/06/18 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA