CSS3控制HTML元素动画效果


Posted in HTML / CSS onFebruary 08, 2014

使用CSS3控制HTML元素的动画效果:

1.对元素transform的控制

先上例子:

复制代码
代码如下:

<head>
<style>
.showbox{
float: left;
margin:4em 1em;
width:100px;
height:60px;
borer:2px solid green;
background-color:#000;
text-align:center;
-webkit-transition: 1s ease-in-out;
transition:1s ease-in-out;
}
.sliderright:hover{
-webkit-transform:translate(30em, 0);
transform:translate(30em, 0);
}
</style>
</head>
<body>
<div class='showbox sliderright'>
</div>
</body>

CSS3中,元素可以具有如下的transform-control属性:

复制代码
代码如下:

-webkit-transform: translate(3em,0);
-webkit-transform: rotate(30deg);
-webkit-transform: scale(1.5);

通过恰当的变换,最终可以将元素的位置变化成为我们需要的效果。

2.CSS3的动画属性

CSS3中元素的所有均由下面的属性控制

复制代码
代码如下:

-webkit-transition: 1s ease-in-out;

实际上,这个css属性控制了在元素的style发生变化的时候应该怎样改变那些数值,一些可以连续变化的style,诸如opacity,color,width等等都可以在这样的属性控制下进行动画

3.动画的多时间点控制

我们可以逐点控制动画,放上另一个例子:

复制代码
代码如下:

<head>
<style>
.box{
position:relative;
width:100px;
height:100px;
left:0;
top:0;
background:blue;
-webkit-transition-property: width, height, left, top, background, -webkit-transform;
-webkit-transition-duration: 1s, 1s, 2s, 2s, 1s, 1s;
-webkit-transition-timing-function: ease-in-out, ease-in-out, ease-out, ease-in, linear, ease-in-out;
-webkit-transition-delay:1s, 1s, 0, 0, 0, 1s;
}
.box:hover{
width:50px;
height:50px;
left:150px;
top:150px;
background:red;
-webkit-transform:rotate(360deg);
}
</style>
</head>
<body>
<div style='height:250px;width:250px;background:grey'>
<div class='box'>
</div>
</div>
</body>

在上面的例子中,-webkit-transition-property控制了动画需要控制那些style属性,duration和delay控制时间节点,timeing function控制了是不是需要淡入淡出的效果。

4.如何让一个元素的hover动作触发另一个元素的动画?

我们可以使用CSS属性的一些链接符号,如下面的例子中,使用~号,在label1的hover动作触发的时候,会影响到label2,然后触发label2的动画

复制代码
代码如下:

<head>
<style>
.box1{
position:absolute;
background:red;
width:100px;
height:100px;
top:0;
left:0;
}
.box1:hover ~ .box2{
left:500px;
}
.box2{
position:absolute;
width:100px;
height:100px;
left:120px;
top:0;
background:blue;
-webkit-transition: 1s ease-in-out;
}
</style>
</head>
<body>
<div style='height:100px;width:400px;background:grey'>
<div class='box1'>
</div>
<div class='box2'>
</div>
</div>
</body>
HTML / CSS 相关文章推荐
CSS3中Transform动画属性用法详解
Jul 04 HTML / CSS
一款基于css3的动画按钮代码教程
Nov 23 HTML / CSS
CSS3的常见transformation图形变化用法小结
May 13 HTML / CSS
HTML5 device access 设备访问详解
May 24 HTML / CSS
关于 HTML5 的七个传说小结
Apr 12 HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 HTML / CSS
很酷的HTML5电子书翻页动画特效
Feb 25 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
HTML中的表单Form实现居中效果
May 25 HTML / CSS
sass 常用备忘案例详解
Sep 15 HTML / CSS
HTML中的表单元素介绍
Feb 28 HTML / CSS
CSS font-variation 可变字体的魅力(实例详解)
Mar 03 HTML / CSS
使用css3匹配手机屏幕横竖状态
Jan 27 #HTML / CSS
css3教程之倾斜页面
Jan 27 #HTML / CSS
使用css3制作动感导航条示例
Jan 26 #HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 #HTML / CSS
css3实现的下拉菜单效果示例
Jan 22 #HTML / CSS
css图标制作教程制作云图标
Jan 19 #HTML / CSS
使用简单的CSS3属性实现炫酷读者墙效果
Jan 08 #HTML / CSS
You might like
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
php xml-rpc远程调用
2008/12/19 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
浅析Python中else语句块的使用技巧
2016/06/16 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Python中常见的异常总结
2018/02/20 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python 导入文件过程图解
2019/10/15 Python
python实现同一局域网下传输图片
2020/03/20 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
骨干教师培训感言
2014/01/16 职场文书
大学生个人学年总结
2015/02/15 职场文书
我爱我班主题班会
2015/08/13 职场文书