css3动画:1.transform;2.transition;3.animation; 下面分别详细讲解并解释三者的区别
1. transform (变换) 单纯的变化 瞬间完成 看不到变化过程
使用方法:直接在样式表中书写即可;
.test:hover
{
-moz-transform:rotate(5deg); //Firefox
-webkit-transform:rotate(5deg); //Safari and Chrome
-o-transform:rotate(5deg); // Opera
-ms-transform:rotate(5deg); //IE
transform:rotate(5deg);
}
none:无转换。
transform-origin:left buttom 以左下角为基准进行旋转
默认值为 center center 如果只填一个值,则另一个值默认为center
matrix(1,1,1,1,1,1) 使用6哥值得矩阵。
translate(200px,300px) 水平移动200px,垂直移动300px
第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
translateX(20px):X轴(水平方向)平移 20px
translateY(20px):Y轴(垂直方向)平移 20px
rotate(20deg): 顺时针旋转20度
rotateX(180deg): 3D 围绕X轴旋转180度
rotateY(180deg): 3D 围绕Y轴旋转180度
scale(2,3):水平放大2倍 垂直放大3倍
指定对象的缩放,第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,
则默认取第一个参数的值
scaleX(2) 水平放大2倍
scaleY(2) 垂直放大2倍
skew(30deg,40deg) 水平斜切扭曲30度 垂直斜切扭曲40deg
第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
skewX(30deg):X轴(水平方向)扭曲30度
skewY(40deg):Y轴(垂直方向)扭曲40度
2. transition (过渡) 结合transform 看到其变化的过程
div
{
width:100px;
height:100px;
background:yellow;
transition:width 2s, height 2s;
-webkit-transition:width 2s ease-in 3s, height 2s, -webkit-transform 2s 2s; /* Safari and Chrome */
}
div:hover
{
width:200px;
height:200px;
transform:rotate(180deg);
-webkit-transform:rotate(180deg); /* Safari and Chrome */
}
与transform结合使用,同时必须是原先已经定义的属性,才可进行变化。
如上例中的:width height transform:rotate(180deg)
transition:width 2s ease-in 3s
width ( transition-property ) : 检索或设置对象中的参与过渡的属性
all : 代表所有属性都进行变化
none : 不指定过渡的css属性
2s ( transition-duration ) : 检索或设置对象过渡的持续时间
ease-in ( transition-timing-function ): 检索或设置对象中过渡的动画类型
3s ( transition-delay ): 检索或设置对象延迟过渡的时间
transition-timing-function
1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1,
x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
实现先执行什么动画,再执行什么动画的技巧是:使用延迟。即:transition-delay
参考链接:http://www.w3cplus.com/content/css3-transition
3. animation (动画) 结合 transform
div{
width: 100px;
height: 100px;
background: red;
position: relative;
animation: myfirst 5s ease 5s 1 alternate paused forwards;
color: white;
}
@keyframes myfirst {
0% {left: 0px; top: 0px;transform: rotateY(0deg) }
/*25% {left: 100px; top: 0px }*/
50% {left: 300px; top: 0px;transform: rotateY(0deg)}
/*75% {left: 400px; top: 0px }*/
100% {left: 300px; top: 0px;transform: rotateY(720deg)}
}
animation: myfirst 5s ease 5s 1 alternate forwards;
myfirst [ animation-name ]:动画名称
5s [ animation-duration ]: 动画的持续时间
ease [ animation-timing-function ]: 动画的过渡类型
同transition的过渡类型
5s [ animation-delay ]: 动画延迟的时间
1 [ animation-iteration-count ]: 动画的循环次数
infinite 无限循环
alternate [ animation-direction ]: 动画在循环中是否反向运动
normal 默认值 正向方向 不反向
alternate 为正常与反向交替运动,
具体:第偶数次正向运动,第奇数次向反方向运动
forwards [ animation-fill-mode ]:元素在动画开始前后的状态是否根据动画设置中“0%”、“100%”的状态设置
取值可以为 none、forwards、backwards 或 both。
默认为 none :动画过程中“0%”、“100%”的状态不会设置为元素开始和结束的状态
backwards 和 forwards 则分别设置开始和结束的状态,both 则同时设置两个的状态。
backwaeds/none 使对象回到 0 0 状态
forwards/both 使对象保持在终态,不回撤
若加入 forwards 属性,则在动画结束后元素会保留在 100% 时动画设置的位置而不回撤。
三者区别
1.transform 和 transition 需要经过用户触发才会表现出动态的效果。
2.这些触发条件可以是:link、:visited、:hover、:active 和 :focus 五个 CSS 伪类,也可以是
click、focus 等 JavaScirpt 事件。
3.如果没有设置触发条件而直接给元素设置 transform 或 transition ,用户只能看到元素的终态
而没有动画过程。
4.animation 则无须触发条件,开发者只需为元素绑定动画即可。
5.在旧版本的 animation 中,animation 、transform 以及 transition 都有一个重要的性质——过
程执行完毕后会回撤。
新版的animation添加了animation-fill-mode 属性(none/backwards/forwards/both) 弥补了
这个缺陷。
6.例如以 :hover 触发 transform ,在鼠标离开元素后动画自动反向播放,使到元素回到
transform 之前的状态。
7.animation 也会在动画结束后回滚,但不会反向播放动画,而是直接跳到动画播放之前的动
态。
参考:http://kayosite.com/css3-animation.html
3D效果
参考 http://kayosite.com/more-about-css3-transformation.html
兼容性
相关推荐
**CSS3 动画详解** CSS3(Cascading Style Sheets Level 3)是Web样式表语言的一个版本,它引入了许多新的特性和功能,其中包括强大的动画能力。在本分享中,我们将深入探讨CSS3动画的核心概念,理解其背后的机制,...
相较于传统的脚本实现动画技术,使用CSS动画有三个主要优点: 1.能够非常容易地创建简单动画,你甚至不需要了解JavaScript就能创建动画。 2.动画运行效果良好,甚至在低性能的系统上。渲染引擎会使用跳帧或者其他...
【CSS3基础动画详解】 CSS3的动画功能使得网页元素的动态效果变得极其丰富和灵活。这个主题将深入讲解CSS3动画的基础知识,包括如何创建和应用动画,以及理解关键帧的概念。 首先,CSS3动画的核心是通过`@...
3. **动画属性详解**: - `animation-name`: 指定 @keyframes 的名称。 - `animation-duration`: 定义动画完成一个周期所需的时间。 - `animation-timing-function`: 控制动画的速度曲线,如 `ease`, `linear`, `...
**CSS3 Animation详解** 在网页设计领域,CSS3(Cascading Style Sheets Level 3)引入了一种全新的动态效果——CSS3 Animation,它允许开发者通过纯CSS方式创建丰富的视觉动画,而无需依赖JavaScript或其他插件。...
**CSS3边框动画详解** 在网页设计中,动态效果能极大地提升用户体验,CSS3的引入使得这种动态效果的实现变得更加简单和高效。本篇将深入探讨CSS3边框动画,帮助你掌握这一强大的视觉呈现工具。 ### 一、边框动画...
**CSS3 动画源码详解** 在网页设计领域,CSS3的引入为开发者提供了前所未有的动态效果制作能力。无需依赖像Flash这样的外部插件,我们可以通过CSS3的`animation`属性来创建丰富的动画效果,使得网页更具交互性和...
### Mimic.css动画效果 Mimic.css提供的18种动画效果涵盖了各种场景,例如: 1. **FadeIn/Out**:淡入淡出效果,常用于元素的出现和消失。 2. **SlideIn/Out**:滑动进入和退出效果,适用于页面滚动或导航菜单项。 ...
**CSS3在线动画制作工具详解** CSS3是层叠样式表的最新版本,它为网页设计带来了革命性的变化,特别是其强大的动画功能。通过CSS3,开发者无需依赖JavaScript或者其他复杂的库,就能创建出丰富多彩的动态效果。而...
通过简单的配置,Wow.js可以与Animate.css等CSS动画库配合,轻松添加“哇”效果,当用户滚动页面时,元素会突然出现或者以特定方式进入视线。 5. **CSS3动画在网站中的应用** CSS3动画广泛应用于网页加载指示器、...
CSS3 动画是Web开发中的一个重要特性,它允许开发者为网页元素添加平滑的过渡效果和复杂的动态行为。在CSS3中,动画是通过`@keyframes`规则定义,并通过`animation`属性来应用到特定的选择器上。下面将详细讲解这两...
**CSS3游戏首页动画按钮与CSS3动画按钮详解** 在网页设计中,视觉效果和交互体验是提升用户体验的重要因素。CSS3(Cascading Style Sheets Level 3)作为现代网页设计的标准,为开发者提供了丰富的样式控制和动画...
**CSS3自行车动画特效详解** 在网页设计领域,CSS3(Cascading Style Sheets Level 3)的引入为创建动态、交互式的用户界面提供了强大的工具。本教程将深入探讨如何利用CSS3实现一个逼真的自行车动画特效。我们将...
**CSS3动画效果详解** CSS3是层叠样式表(Cascading Style Sheets)的第三版,它引入了许多新特性,极大地丰富了网页的表现力。其中,CSS3动画效果是其中一个重要的亮点,允许开发者创建出丰富的动态视觉效果,无需...
**CSS3样式动画详解** CSS3是层叠样式表(Cascading Style Sheets)的第三个主要版本,相较于之前的版本,它引入了许多强大的新特性,其中最引人注目的就是样式动画。这些动画使得网页元素在交互过程中能展现出更加...
**CSS3 动画特效详解** CSS3是 Cascading Style Sheets 的第三版,它为网页设计带来了革命性的变化,特别是其强大的动画功能。在本文中,我们将深入探讨如何利用CSS3实现`div切换`、`延时动画`、`元素直线运动`、`...
【CSS3彩色3D文字上下漂浮动画特效详解】 在网页设计中,吸引用户的注意力是至关重要的,而动态效果往往能起到很好的引导和装饰作用。本篇将详细讲解如何使用CSS3来创建一款彩色3D文字上下漂浮的动画特效,这种特效...
《jQuery+CSS3数字滚动动画特效详解》 在网页设计中,动态效果的运用能够提升用户体验,增强视觉吸引力。"jQuery+CSS3数字滚动增加动画特效"就是一种常见且实用的技术,它使得数字的增加过程变得生动有趣,常用于...
**CSS3动画工具详解** CSS3(层叠样式表第三版)是Web设计领域的一次重大飞跃,它引入了许多新特性,其中最引人注目的就是动画功能。这些动画不仅让网页元素更具交互性,还能为用户带来丰富的视觉体验。本篇文章将...
《CSS3实现翻书动画效果详解》 在网页设计领域,动态效果的运用极大地提升了用户体验,其中CSS3的翻书动画效果就是一种极具吸引力的技术。本文将深入探讨如何利用CSS3来实现逼真的翻书动画,同时也会分析并讨论这款...