CSS3 Transitions
浏览器支持
| 属性 | 浏览器 | ||||
|---|---|---|---|---|---|
| transition | ![]() |
![]() |
![]() |
![]() |
![]() |
Internet Explorer不支持过渡属性。
Firefox4需要前缀-moz-。
Chrome和Safari需要前缀-webkit-。
Opera需要前缀-o-。
CSS3的过渡效果,让一个元素从一种效果转换到另一种效果。
div |
注意:如果未指定动画延迟时间,过渡将没有任何效果,因为默认值是0。
鼠标放上去的时候,变换开始:
div:hover |
在哪里定义动画效果?
css3动画一般通过鼠标事件或者说状态定义动画,通常我们可以用CSS中伪类和js中的鼠标事件来定义。
| 动态伪类 | 起作用的元素 | 描述 |
| :link | 只有链接 | 未访问的链接 |
| :visited | 只有链接 | 访问过的链接 |
| :hover | 所有元素 | 鼠标经过元素 |
| :active | 所有元素 | 鼠标点击元素 |
| :focus | 所有可被选中的元素 | 元素被选中 |
js的事件也可以,比如click,focus,mousemove,mouseover,mouseout等等
transition的基本语法:
css3动画通过transition属性和其他css属性(颜色,宽高,变形,位置等等)配合来实现。
transition的语法:
transition : [<'transition-property'> || <'transition-duration'> || <'transition-timing-function'> || <'transition-delay'> [, [<'transition-property'> || <'transition-duration'> || <'transition-timing-function'> || <'transition-delay'>]]*
当然这是简写,我们也可以完整的写:
transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ]*;
transition-duration : <time> [, <time>]*
transition-timing-function : ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>) [, ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)]*
transition-delay : <time> [, <time>]*
那些属性可以变换?
transition-property:要变化的属性,比如元素变宽则是width,文字颜色要变色这是W3C给出了一个可变换属性的列表:
| CSS属性 | 改变的对象 |
| background-color | 色彩 |
| background-image | 只是渐变 |
| background-position | 百分比,长度 |
| border-bottom-color | 色彩 |
| border-bottom-width | 长度 |
| border-color | 色彩 |
| border-left-color | 色彩 |
| border-left-width | 长度 |
| border-right-color | 色彩 |
| border-right-width | 长度 |
| border-spacing | 长度 |
| border-top-color | 色彩 |
| border-top-width | 长度 |
| border-width | 长度 |
| bottom | 百分比,长度 |
| color | 色彩 |
| crop | 百分比 |
| font-size | 百分比,长度 |
| font-weight | 数字 |
| grid-* | 数量 |
| height | 百分比,长度 |
| left | 百分比,长度 |
| letter-spacing | 长度 |
| line-height | 百分比,长度,数字 |
| margin-bottom | 长度 |
| margin-left | 长度 |
| margin-right | 长度 |
| margin-top | 长度 |
| max-height | 百分比,长度 |
| max-width | 百分比,长度 |
| min-height | 百分比,长度 |
| min-width | 百分比,长度 |
| opacity | 数字 |
| outline-color | 色彩 |
| outline-offset | 整数 |
| outline-width | 长度 |
| padding-bottom | 长度 |
| padding-left | 长度 |
| padding-right | 长度 |
| padding-top | 长度 |
| right | 百分比,长度 |
| text-indent | 百分比,长度 |
| text-shadow | 阴影 |
| top | 百分比,长度 |
| vertical-align | 百分比,长度,关键词 |
| visibility | 可见性 |
| width | 百分比,长度 |
| word-spacing | 百分比,长度 |
| z-index | 正整数 |
| zoom | 数字 |
几乎所有的有色彩、大小或位置等组件的CSS属性,包括许多新添加的CSS3属性, 都可以应用变换。一个值得注意的例外是box-shadow,不过部分浏览器还是对box-shadow添加了支持。
该取值还有个强大的“all”取值,表示上表所有属性;
除了以上属性外,当然还有css3中大放异彩的css3变形,比如放大缩小,旋转斜切,渐变等等。
动画时间
transition-duration :动画执行的时间,以秒为单位,比如0.1秒可以写成”0.1s”或者”.1s”,注意后面有个“s”单位。
动画执行的计算方式
transition-timing-function :动画执行的计算方式,这里时间函数是令人崩溃的贝塞尔曲线,幸好css3提过了几个取值:
ease:逐渐慢下来,函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
linear:线性过度,函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
ease-in:由慢到快,函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
ease-out:由快到慢, 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
ease-in-out:由慢到快在到慢, 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
cubic-bezier:特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
动画延迟
transition-delay:在动作和变换开始之间等待多久,通常用秒来表示(比如, .1s)。如果你不想延迟,该值可省略。
重叠动画
经常会碰到同一元素会有多个动画同时执行的时侯,比如文字颜色和背景同时变化:
-webkit-transition: color .25s linear , background-color 1s linear;
和transform(变形)结合的一些动画
这时候transition-property建议取值为“all”;
典型的应用举例:
放大缩小:
#scale { -webkit-transition: all .3s ease-in-out; }
#scale:hover { -webkit-transform: scale(1.5); }
旋转:
#rotate { -webkit-transition: all 1s ease-in-out;}
#rotate:hover {-webkit-transform: rotate(720deg);}
CSS3 Transitions的更多相关文章
- Effeckt.css – CSS3 Transitions & Animations 精妙应用
CSS3 不仅仅用作界面效果补充,还可以用来替换传统的一些界面实现,而且效果更酷.Effeckt.css 收集了众多精妙的 CSS3 Transitions & Animations 效果应用 ...
- 9款基于CSS3 Transitions实现的鼠标经过图标悬停特效
之前给大家分享了很多css3实现的按钮特效.今天给大家分享9款基于CSS3 Transitions实现的鼠标经过图标悬停特效.这款特效适用浏览器:360.FireFox.Chrome.Safari.O ...
- CSS3 Transitions, Transforms和Animation使用简介与应用展示
CSS3 Transitions, Transforms和Animation使用简介与应用展示 by zhangxinxu from http://www.zhangxinxu.com本文地址:htt ...
- CSS3 Transitions, Transforms和Animation的使用
一.前言 CSS3动画相关的几个属性是:transition, transform, animation:分别理解为过渡,变换,动画.虽意义相近,但具体的功能和在CSS3中承担的工作有一定的差异. t ...
- IE10开始支持CSS3 Transitions, Transforms 和 Animations
这是一个好消息,微软公开说明IE10预览版已经支持CSS3属性 Transitions, Transforms 和 Animations,你可以直接写transitions,而不是加个恶心的前缀-ms ...
- CSS3 Transitions属性打造动画的下载按钮特效
一个网站的下载按钮应尽量吸引读者的注意. 这意味着网页设计师应该非常重视文件的下载界面.一个页面这么多的文件,如图片,视频和插件可以通过直接HTTP下载共享.许多免费网站甚至发布图标集和PSD文件供用 ...
- CSS3 Transitions 你可能不知道的知识点
如何临时让transition失效 我们给一个element设置了transition效果,但某些特殊情况,我们希望让transition临时失效.我们第一反应就是先移除transition设置,等其 ...
- 【转载】CSS3 Transitions, Transforms和Animation使用简介与应用展示
文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/wordpress/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=1 ...
- Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】
<Web 前端开发精华文章推荐>2013年第五期(总第十七期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...
随机推荐
- Android--广播BroadcastReceiver
前言 Android四大组件,Activity.Service.ContentProvider.BroadcastReceiver,除了BroadcastReceiver之外,其他的在之前的博客中都有 ...
- 【转】android 4.3 BLE onCharacteristicWrite没有回调
原文网址:http://bbs.csdn.net/topics/390882717?page=1 问题1.我在自己程序有开一个Timer定时去readCharacteristic, 每次read可以成 ...
- SparkContext自定义扩展textFiles,支持从多个目录中输入文本文件
需求 SparkContext自定义扩展textFiles,支持从多个目录中输入文本文件 扩展 class SparkContext(pyspark.SparkContext): def ...
- css+div 布局遇到的小常识
/根目录../上层目录举例如下: 在photo.css文件中写入: div.ls{ background:url(../photo/framels.jpg) no-repeat left; }div. ...
- 乱译文档--开始使用Musca
原文地址:http://aerosuidae.net/musca_start.html aerosuidae.net Musca - Start Using startx Launch it from ...
- Cgroup - Linux 内存资源管理
Hi ,我是 Zorro .这是我的微博地址,我会不定期在这里更新文章,如果你有兴趣,可以来关注我呦. 另外,我的其他联系方式: Email: mini.jerry@gmail.com QQ: 300 ...
- javascript获取对应页面的代码
window.onload = function () { function getUrls(url) {//核心代码是url2这行代码,通过.replace()方法将对应的字符串替换成其他方式 va ...
- uboot启动后在内存中运行裸机程序hello
如题,实现过程中发现3额问题,先写下来,待解答: 1.uboot启动后再dnw上打印许多信息,我想改变其中的打印信息或加上自己的打印信息以证明程序运行到何处.修改完后重新编译uboot.bin. 在D ...
- ffmpeg错误隐藏框架分析
本文主要是分析ffmpeg的错误隐藏框架,故解码流程此处不会特地进行讨论,网上其他地方其实也有不少介绍相关流程的了,但发现基本没有介绍错误隐藏流程的,故本文希望能填补这个空白. 我们直接从decode ...
- jboss学习 - vfs---转载
jboss的VFS是为了解决什么问题,他为什么有用呢 在jboss中有很多类似的资源操作的代码都分散在程序的各个地方,大多数情况下代码首先确定操作的资源的类型,比如是文件或者是文件夹,通过URL加载的 ...




