css3动画之transition和animation属性介绍

本文给大家介绍实现css3动画的transition和animation属性,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

tradition一共以下有4个属性:

transition-property 过渡属性

transition-duration 完成动画所需时间,以秒或者毫秒计算

transition-timing-function 规定动画变化速度曲线

transition-delay 是否延时

transition-property 过渡属性

立即学习“前端免费学习笔记(深入)”;

none:没有属性会获得过渡效果

all:所有属性会获得过渡效果

porperty:width,height…

img{        height:15px;        width:15px;}img:hover{        height: 450px;        width: 450px;}

transition的作用在于指定状态变化所需要的时间。

img{    transition: 1s;}

transition-duration 完成状态过渡的秒或者毫秒

还可以指定transition的变化属性,例如是width变化还是height

img{    transition: 1s height;}

还可以指定多个属性

img{    transition: 1s height, 1s width}

transition-delay 状态变化速度。

指定delay参数,使得height先发生变化,然后在让width发生变化:

img{    transition: 1s height, 1s 1s width}

delay 真正的意义在于指定了动画发生的顺序,使得多个不同的transition可以在不同的时刻发生形成一种动画效果

transition-timing-function 状态变化速度

默认的是逐渐放慢 ease

可能取值有

linear:匀速

easy-in:加速

ease-out:减速

cubic-bezier函数,自定义速度模式

(cubic:立方体的,bezier:贝塞尔曲线 )

cubic-bezier(, , , )取值范围0-1

img{        transition-property: height;             transition-duration: 1s;        transition-delay: 1s;        transition-timing-function: ease;}

注意:transition需要明确知道开始状态和结束状态的具体数值才能计算出中间状态。但是transition没法计算出0->auto的状态,那么就不会产生动画效果。类似情况还有display:none->block和background:url(foo.jpg)->url(bar.jpg)的情况。

它有的缺点:

需要事件触发,没法在网页加载时候直接发生

是一次性的,不能重复发生,除非你重复触发它

只能定义开始状态和结束状态,不能定义中间状态

一个transition规则,只能定义一个属性的变化

animation

CSS Animation一共有以下属性:

animation-name 需要绑定到选择器keyframe的名称

animation-duration  完成动画所需时间,以秒或者毫秒计算

animation-timing-function 规定动画的速度曲线

animaton-delay  动画开始之前延时的时间

animation-iteration-count  动画应该播放的次数

animation-direction 是否应该轮流反向播放动画

animation-fill-mode 属性规定动画播放之后其动态效果是否可见

animatoin-play-state 规定动画正在运行还是暂停

iteration-重复

animation-name

animation-duration

首先 设置动画的名称和持续的时长

p:hover{animation: 1s rainbow;}

上面代码表示,当鼠标悬停在p元素上时,会产生名为rainbow的动画效果,持续时间为1秒。为此,我们还需要用keyframes关键字,定义rainbow效果。

@keyframs rainbow{0% { background: #c00; }50% { background: orange; }100% { background: yellowgreen; }}

keyframs的写法相当自由

可以用from表示0%,to 表示100%

@keyframs rainbow{from { background: #c00; }50% { background: orange; }to { background: yellowgreen; }}

如果忽略某个状态,浏览器会自动推算

@keyframs rainbow{   50% { background: orange; }     to { background: yellowgreen; }}@keyframs rainbow{to { background: yellowgreen; }}@keyframs rainbow{from, to { background: yellowgreen; }}

浏览器从一个状态到另外一个状态是平滑过渡到,steps函数实现分步过渡

p:hover {animation: 1s rainbow infinite steps(10);}

默认情况下,动画只播放一次。加入infinite关键字,可以让动画无限次播放。

p:hover{animation: 1s rainbow infinite;}

除了infinite,还可以设置为具体的次数: 3、5

p:hover{animation: 1s rainbow 5;}

animation-fill-mode

动画结束以后会立即冲结束状态回到起始状态,如果想让动画保持在结束状态就要加上animation-fill-mode属性中的forwards

p:hover{animation: 1s rainbow infinite forwards;}

animation-fill-mode 有4种取值

none  不改变默认行为

forawads  动画完成后,保持最后一个属性(在最后一个关键帧中定义)

backwards  在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。

both  向前向后都进行填充

animation-direction

规定了轮流反向播放动画

alternate:动画会在奇数次(1,3,5…)正常播放,偶数次(2,4,6…)反向播放

最常用alternate和revers,浏览器对其他值的支持不佳


总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问 CSS3视频教程!

相关推荐:

php公益培训视频教程

CSS在线手册

CSS3在线手册

div/css图文教程

css3特效代码大全

以上就是css3动画之transition和animation属性介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:54:11
下一篇 2025年12月24日 02:54:19

相关推荐

  • 如何使用CSS和Vanilla.js实现一组tooltip提示框(附源码)

    本篇文章给大家带来的内容是关于如何使用css和vanilla.js实现一组tooltip提示框(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges…

    2025年12月24日
    000
  • css3如何实现鼠标放上图片放大?(附代码)

    在css3的学习中,我们会经常做一些小的动画效果,这感觉非常有趣,所以今天的这篇文章将给大家来介绍关于css3实现图片放大的一个效果,有兴趣的小伙伴可以看一下。 我们都知道css3中增加了一个transform属性应用于元素的2D或3D转换,transform属性允许我们对元素进行旋转、缩放、移动或…

    2025年12月24日 好文分享
    000
  • css3如何实现图片光影效果?css3图片光影实现的方法介绍

    在学习css3的过程中,我们知道css3中新增的一些属性可以很容易就能够实现某些好看的效果,这篇文章将给大家介绍一个特别的效果—图片光影效果。什么是图片光影效果呢?我们有时候可以在网页中看到一张图片当你鼠标放到这张图片上的时候就会在图片上划过一道光影,这就是光影效果,感觉是不是非常的有趣,这就可以用…

    2025年12月24日
    000
  • 如何使用纯CSS实现按钮的悬停效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现按钮的悬停效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器…

    2025年12月24日
    000
  • 如何使用纯CSS实现从按钮两侧滑入元素的悬停效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现从按钮两侧滑入元素的悬停效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义…

    2025年12月24日
    000
  • 如何使用纯CSS实现宝路薄荷糖的动画(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现宝路薄荷糖的动画(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,只…

    2025年12月24日
    000
  • 如何使用CSS和D3实现一个舞动的画面(附源码)

    本篇文章给大家带来的内容是关于如何使用css和d3实现一个舞动的画面(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,…

    2025年12月24日
    000
  • 如何使用纯CSS实现大白的形象(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现大白的形象(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 整个人物分为 3 部分…

    2025年12月24日
    000
  • 如何使用纯CSS实现圆点错觉的效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现圆点错觉的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 此项目无用户自定义…

    2025年12月24日
    000
  • 如何利用css3中的transform skewX实现平行四边形的导航菜单

    本篇文章给大家带来的内容是关于如何利用css3中的transform skewx实现平行四边形的导航菜单,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 平行四边形其实是矩形的超集:它的各条边是两两平行的,但各个角则不一定都是直角。在视觉设计中,平行四边形往往可以传达出一种动感。让我…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS实现类似脉动的loader(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现类似脉动的loader(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 do…

    2025年12月24日
    000
  • 如何使用css3实现圆角效果(附实例代码)

    为了符合整个页面的风格,有时候需要将方形的div变换成不一样的形状,以达到风格统一的目的,本文将给大家展示一下如何使用css3实现圆角效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3实现圆角效果的优点 减少网站维护工作量。 提高了网站的性能,少了对图片的 HTTP …

    2025年12月24日 好文分享
    000
  • 如何快速简单的使用css3画出各种各样的椭圆

    以前前端开发的时候,对于那些特殊的图形,前端开发人员大部分的时候会使用图片的剪裁来插入特殊的图形,而现在随着css3的发展,很多形状可以通过css3画出,本篇文章给大家带来的内容是关于如何快速简单的使用css3画出各种各样的椭圆,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用c…

    2025年12月24日 好文分享
    000
  • 如何使用css3实现图片的简单阴影效果(附完整代码)

    上篇文章向大家展示了一下如何使用css3实现文字的阴影效果,本文将继续向大家展示如何实现图片的阴影效果,其中包含了两种特殊效果:曲面/椭圆投影效果和悬浮投影效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3实现图片的阴影效果的原理 一个图形需要带有一个主投影,另一个带…

    2025年12月24日
    000
  • 如何使用纯CSS实现从按钮两侧滑入装饰元素的悬停特效(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现从按钮两侧滑入装饰元素的悬停特效(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 …

    2025年12月24日
    000
  • 如何使用css3+html5来制作文字霓虹灯效果(付完整代码)

    在科技日益发展的今天,人们对于审美越来越挑剔,这就要求我们对于前端开发的态度更加的严谨的同时,需要加入新鲜的元素,以达到吸引目光的目的。那么今天本文带大家了解一下如何使用css3+html5来制作文字霓虹灯效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3+html5…

    2025年12月24日
    000
  • 如何使用css3绘制出圆形动态时钟(详解)

    在这个时间就是金钱的时代,人们的时间意识越来越强,不仅仅是平时的日常生活,在上网的同时也是尤为如此,那么在前端开发的时候,学会使用css3制作一个时钟就显得很有必要了。本篇文章给大家带来的内容是关于,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3绘制出圆形动态时钟的原理…

    2025年12月24日
    000
  • 如何使用HTML5+CSS3来创建淡入效果的提示框(附完整代码)

    当我们在浏览网页的时候经常看到一些提示工具,最常见的就是提示框样式,提示框不仅可以很明确的起到导航作用,还可以将隐藏的信息展示出来的同时不占用网页空间,所以在前端开发的过程中需要了解提示工具的编写。那么本文将向大家展示一下一个提示框的特殊效果:淡入效果的提示框。有一定的参考价值,有需要的朋友可以参考…

    2025年12月24日
    000
  • css中display:none与visibility:hidden的区别分析

    本篇文章给大家带来的内容是关于css中display:none与visibility:hidden的区别分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 还记得面试时被问起”请说说display:none和visibility:hidden的区别”吗?是不…

    2025年12月24日
    000
  • css3新增了哪些属性样式?css3常用的新特性介绍

    css3新增的属性样式(新特性)有哪些?本章就给大家重点介绍几种css3中常用的新增属性样式(新特性)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在介绍css3新增的属性样式(新特性)前,我们要先知道什么是css3。    CSS 是层叠样式表 ( Cascading Sty…

    好文分享 2025年12月24日
    000

发表回复

登录后才能评论
关注微信