html与css结合动效案例,CSS3制作动画效果例子

实现网站的图片、文字的动态效果,我们有photoshop制作多帧动画GIF、用flash制作更精巧的动画,还有利用javascript通过识别ID/CLASS 来实现对应DIV块的动画效果。然而,即使有这么多的方法可以实现动态效果,我们仍然觉得不满足,为什么呢?

1.用photoshop制作的动画,制作过程比较长,要产出一个比较理想、细腻的动画图片,花费的时间比较长,一旦需要修改某个部分,就得对源文件大开刀,伤身费脑力。

2.用flash制作动画,比用photoshop来得更专业一些,也高效许多,但文件一般都比较大,小流量、小存储的空间伤不起啊!

3.用javascript实现动态,这是个很实用、也很灵活的方法,大部分网站目前实现的动态效果超过30%使用javascript实现,而且比上述两者有更强的交互性,但在比较渣的网速下,运行js,会拖慢网站的加载速度(这也算缺点咩?)。

从本质上来说,其实碎碎念这么说纯属胡说,动态图片是网站素材,而动态效果属于网站交互,这尼玛能混为一谈么!!??(额,专业人士来科普下吧,碎碎念编不下去了,呵呵呵呵呵呵呵~~)

好啦,以上纯属瞎编乱造,下面开始主菜,额,主题!本文适用于小白级别和不折腾不死星人,大神及代码恐惧症的,可以绕行啦~

用CSS3实现动态效果,只需要在你指定的div/section/aside等等块元素添加class,编写样式即可轻松实现,不占内存、不影响网站加载,修改灵活,还可多个场景共同使用!

提一下动态实现的过程吧:设定动画animation效果名为doudong(改变角度),完成一次动画的时间为0.1s,变化次数为无限制次infinite ,就这样,我们完成了对相应木块动态效果的定义!为了达到动画循环和过渡自然,我们已经定义了一个无穷次变化,接下来还需要定义一个逆向变化,让动画可以反复变化,我们定义-webkit-animation-direction:alternate;这个是针对谷歌浏览器chrome来定义的,后续代码也是仅添加chrome兼容,firefox/opera的兼容代码就自己去拓展吧,多写一个,很简单的,对吧!

接下来,我们要对动画效果的具体实现进行描述,通过@keyframes doudong{}来声明动画的具体内容。我们细分了动画的过程从0%——100%为四段,五个节点,定义加载到这五个节点相应的样式即可实现。

这里的例子,通过定义背景的位置来实现抖动,注意,这里定义的样式是对称的,50%的前后是对称的,因为我们的动画是循环的,这样可以保证过渡的自然和效果的流畅。另外,实现动画的对象最好放置在一个DIV/SECTION或者其它标签的容器内,避免动画对象满屏跑。 代码如下 复制代码

/*左右抖动*/

.doudong{

/*变化一个周期5秒,变化次数infinite无穷次*/

animation:doudong .1s infinite;

-webkit-animation:doudong .1s infinite; /* Safari and Chrome */

/*设置变化逆向alternate*/

-webkit-animation-direction:alternate;

}

@keyframes doudong /*  */

{

0% {background-position:3px 0px;}

25%{background-position:1.5px 0;}

50% {background-position:0px 0;}

75%{background-position:-1.5px 0;}

100% {background-position:-3px 0px;}

}

@-webkit-keyframes doudong /* chrome */

{

0% {background-position:3px 0px;}

25%{background-position:1.5px 0;}

50% {background-position:0px 0;}

75%{background-position:-1.5px 0;}

100% {background-position:-3px 0px;}

}

接下来,我们通过一个简单的示例来看看CSS3的动画魅力吧(用鼠标停留在碎碎念网站的导航条logo可以查看效果哦!):

碎碎念费这么多口水,只讲这么点例子,希望可以起个抛砖引玉的效果,让大神们多科普科普CSS3的妙用,让未来的网站更具有高兼容性和轻量级!

原文来自:http://www.zhuweisheng.com.cn/css3animation.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值