那么先来剖析,整体布局

1 首先后面粉色,该当是一张大的背景图

2 桃心旁边两边装饰,可以是版心分区图片或者背景图,这里利用的是img图片,大家利用背景图也是可以的

html5banner动画精品配饰运动banner html5特效制造教程 HTML

3 中间桃心部分,由于要做动画,最好绝对定位,中间桃心部分,右翼须要做鞭策效果,以是桃心部分该当一分为二,分为旁边两个部分

那么先来搭建构造和书写基本样式

1 构造(源码截图):

源码:

<div class=\公众all\"大众><!--大背景盒子-->

<div class=\公众banner\"大众><!--版心盒子-->

<img class=\"大众banner_l\"大众 src=\"大众images/banner_l.png\"大众 width=\"大众495\公众 height=\公众568\公众 alt=\"大众\"大众/><!--左边装饰-->

<img class=\公众banner_r\"大众 src=\"大众images/banner_r.png\公众 width=\"大众495\"大众 height=\"大众568\"大众 alt=\"大众\"大众/><!--右边装饰-->

<div class=\公众banner_in\公众><!--桃心盒子,绝对定位-->

<img src=\公众images/left.png\"大众 width=\公众495\"大众 height=\"大众568\"大众 alt=\"大众\"大众/><!--桃心左翼-->

<img class=\公众ani\"大众 src=\"大众images/right.png\"大众 width=\"大众495\"大众 height=\"大众568\"大众 alt=\"大众\"大众/><!--桃心右翼-->

</div>

</div>

</div>

2 对应样式(源码截图):

源码:

<style>

{padding: 0; margin: 0; list-style: none;}

.all{ height:1000px; background:url(images/bg.jpg) no-repeat top center; overflow:hidden;}/大背景/

.banner{width:1000px; height:600px; margin:100px auto; position:relative;}/版心盒子/

.banner_l{ float: left;}/左边装饰/

.banner_r{ float: right;}/右边装饰/

.banner_in{width:990px; position:absolute; left:50%; top:0; margin-left:-495px;}/桃心盒子/

.banner_in img{ float:left;}/桃心旁边边翼图片浮动水平排列,严格对齐/

</style>

基本构造样式书写完毕,现在来剖析桃心右翼动画效果:

1 首先我们要给运动的元素即桃心右翼添加动画,动画默认状态和结束状态该当同等

2 桃心右翼向前鞭策的效果,即右翼桃心沿Y轴旋转大约45度,那么可以利用css3里面的3d转换transform:rotateY(45deg); 我们可以设置动画元素50%的状态为此状态

3 这里须要把稳css3 transform转换模块,默认旋转的中央点是元素中央,桃心右翼旋转的中央点该当是元素的左边,那么我们须要添加一个css属性掌握旋转的中央点transform-origin:left;

加动画代码

1 给动画元素加上类(源码截图):

先给要做动画元素加上class=\公众ani\"大众,再给ani书写animation

.banner_in .ani{

animation:swing ease-in-out infinite 5s;

}

2 给动画元素ani加动画(源码截图):

此步骤设置动画默认和结束状态旋转角度不变,旋转中央点为元素左边,中间状态沿Y轴旋转45度,代码如下

@keyframes swing{

0%,100%{transform-origin:left; transform:rotateY(0deg);}

50%{transform-origin:left; transform:rotateY(45deg);}

}

末了一步,animation和transform属性,Chrome 和 Safari需加上浏览器私有前缀-webkit-,处理兼容问题。

源码:

.banner_in .ani{

animation:swing ease-in-out infinite 5s;

-webkit-animation:swing ease-in-out infinite 5s;

}

@keyframes swing{

0%,100%{transform-origin:left; transform:rotateY(0deg);}

50%{transform-origin:left; transform:rotateY(45deg);}

}

@-webkit-keyframes swing{

0%,100%{-webkit-transform-origin:left; -webkit-transform:rotateY(0deg);}

50%{-webkit-transform-origin:left; -webkit-transform:rotateY(45deg);}

}

案例所用到的图片文件和代码,请登录:

http://bbs.520it.com/forum.php?mod=viewthread&tid=1799