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学习之2D转换功能详解
Dec 23 HTML / CSS
通过css3动画和opacity透明度实现呼吸灯效果
Aug 09 HTML / CSS
深入浅出CSS3 background-clip,background-origin和border-image教程
Jan 27 HTML / CSS
css3编写浏览器背景渐变背景色的方法
Mar 05 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 HTML / CSS
CSS3实现网站商品展示效果图
Jan 18 HTML / CSS
会走动的图形html5时钟示例
Apr 27 HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 HTML / CSS
html5 初试 indexedDB(推荐)
Jul 21 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
利用Node实现HTML5离线存储的方法
Oct 16 HTML / CSS
css3新特性的应用示例分析
Mar 16 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中其实也可以用方法链
2011/11/10 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
PHP7常量数组用法分析
2016/09/26 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
原生js二级联动效果
2017/06/20 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
Python 爬虫多线程详解及实例代码
2016/10/08 Python
详解python中requirements.txt的一切
2017/03/03 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
Python用input输入列表的实例代码
2020/02/07 Python
Python设计密码强度校验程序
2020/07/30 Python
自我鉴定200字
2013/10/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
Spring实现内置监听器
2021/07/09 Java/Android