CSS3中的Transition过度与Animation动画属性的使用介绍

这篇文章主要介绍了css3中的transition过度与animation动画属性使用要点transition和animation能被用来制作基本的页面图片动态效果,当然进一步的控制还是需要javascript的帮助,需要的朋友可以参考下

Transition(过度)
Transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值,它的语法如下:

transition: property duration timing-function delay;   /* property:执行过渡的属性 duration:执行过渡的持续时间 timing-function:执行过渡的速率模式 delay:延时多久执行 */

transition-property
可取值:

none
没有属性会获得过渡效果。
all
所有属性都将获得过渡效果。
property
定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。

p{   transition-property:width;   -moz-transition-property: width;/* Firefox 4 */-webkit-transition-property:width; /* Safari 和 Chrome */-o-transition-property:width;    /* Opera */}

transition-duration
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,回想一下如果只有transform属性,是不是变换啪地一下完成了。

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

p{   transition-duration: 5s;   -moz-transition-duration: 5s; /* Firefox 4 */-webkit-transition-duration: 5s; /* Safari 和 Chrome */-o-transition-duration: 5s; /* Opera */}

transition-timing-function

既然是动画,那么就有动画的运行速率,不同的速度会产生不同的结果,以下是可取值。

ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
2016520122009291.png (491×167)

transition-delay
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,也就是立即执行,如果在多个动画直接有先后顺序,那么它就会派上用场。

Animation(动画)
关键帧 Keyframe
实现自定义动画,通过对关键帧的设定来实现,也就是规定从起始点(0%)到终点(100%)之间的具体节点上的动画样式。就好比一个人起床,睁开眼睛(0%),站起来(10%),穿上衣(40%),穿裤子(80%),整理面容(100%),这样子把每个节点串起来便是动画了。

再说动画
动画,关键在于动字,那么对于页面上的元素来说,能发生变化的便是它的样式属性,比如用animation规定自定义动画,内容为font-size从18px,变为28px,这个便是动,加上其自身的属性(它可以规定动画持续时间,运动形式等等),便可以呈现动态的效果,而不是一瞬间的变化。

通常,transition要想实现动画通常需要由hover伪类来触发,否则在页面加载的时候它已经运动完毕,保持运动的末态,这并不是我们想要的。animation不一样,它拥有更多的表现形式,使其看起来像与生俱来,天生就会动一样。

语法

.area{        width: 50px;        height: 50px;        margin-left: 100px;        background: blue;        -webkit-animation-name:'demo';/*动画属性名,也就是我们前面keyframes定义的动画名*/     -webkit-animation-duration: 10s;/*动画持续时间*/     -webkit-animation-timing-function: ease-in-out; /*动画频率,和transition-timing-function是一样的*/     -webkit-animation-delay: 2s;/*动画延迟时间*/     -webkit-animation-iteration-count: infinite;/*定义循环资料,infinite为无限次*/     -webkit-animation-direction: alternate;/*定义动画方式*/  }

实例和简写
需要注意的是最后一个属性,direction,我们可以这么想,A从甲地到了乙地这是一个动画,设置为normal时,第二次播放时便又是从头开始,显得很突兀,这个时候需要用alternate,使其看起来A在甲乙两地之间来回运动,代码如下:

/* 甲地和乙地这两个球都是absolutely定位方式,小球也是,只要控制left值即可 */.circle{   //我给这个小球球增加了一个名为demo1的动画   //你看,它就自己动起来了,回想一下,使用transform的时候,是不是还得用hover去触发    -webkit-animation: 'demo1' 2s linear infinite alternate;       -o-animation: 'demo1' 2s linear infinite alternate;       animation: 'demo1' 2s linear infinite alternate;   }   //定义动画部分   //我只写了-webkit,真实中加上@-0-,@-moz-,@keyframes   @-webkit-keyframes demo1 {       from {            left:200px;           background-color: lightcoral;        }        50%{            left:290px;            background-color: lightblue ;        }       to {            left:380px;           background-color: lightseagreen;        }   }

2016520122103796.gif (517×202)

alternate方式,放完就倒着放一遍
2016520122132964.gif (517×202)

normal方式,就是放完重头再放

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于CSS3中动画属性transform和transition以及animation属性的区别分析

兼容ie的内阴影和外阴影的实现效果及测试代码

利用CSS3制作的鼠标悬停时边框旋转

以上就是CSS3中的Transition过度与Animation动画属性的使用介绍的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:39:14
下一篇 2025年12月24日 01:39:22

相关推荐

  • 关于CSS3制作的20种loading动效

    本篇文章主要介绍了详解纯css3制作的20种loading动效,内容挺不错的,现在分享给大家,也给大家做个参考。 一些网站或者app在加载新东西的时候,往往会有一些好看有趣的loading图,大部分的loading样式都可以使用css3写出来,不仅比直接使用gif图简单方便,还能节省加载时间和空间,…

    2025年12月24日 好文分享
    000
  • 关于css3图片边框border-image的用法

    在css3里引入的很多新特征中,这篇文章主要介绍了css3图片边框border-image的用法,具有一定的参考价值,有兴趣的可以了解一下 对于CSS属性 border ,相信所有的WEB开发人员都非常熟悉。我们可通过设置HTML元素的 border 的宽度、颜色、样式,来让HTML元素表现出不同的…

    好文分享 2025年12月24日
    000
  • CSS3三维变形实现立体方块

    这篇文章主要给大家介绍了css3利用三维变形实现立体方块的方法,文中给出了完整的实例代码,感兴趣的朋友们可以自己运行后看看效果,只有自己动手了才能更好的学习,下面来一起看看吧。 前言 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换的功能类似。3D变形与2D变…

    2025年12月24日
    000
  • 利用CSS3实现文字向右循环的闪过效果

    这篇文章主要跟大家分享了利用纯css3实现文字向右循环闪过效果的相关资料,因为兼容性的问题,常被用于移动端,实现的效果非常不错,文中给出了详细的介绍和示例代码,需要的朋友们下面来一起看看吧。 本文介绍的利用纯CSS3实现文字向右循环闪过效果的相关资料,下面话不多说,大家先来看看示例代码吧。 示例代码…

    2025年12月24日
    000
  • CSS3如何实现自定义“W”形运行轨迹

    本篇文章主要介绍了CSS3效果:“W”形运行轨迹实例,可以通过css实现w的运行轨迹,非常具有实用价值,需要的朋友可以参考下。 整理文档,搜刮出一个CSS3效果:“W”形运行轨迹实例的代码,稍微整理精简一下做下分享。 *{ margin: 0; padding:0; } #p{ width:900p…

    好文分享 2025年12月24日
    000
  • 关于CSS3中动画属性transform和transition以及animation属性的区别分析

    这篇文章主要介绍了关于css3中动画属性transform和transition以及animation属性的区别分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近在项目中用到了CSS3中的动画属性。无奈对于css3几个新加的属性不太熟悉,常常容易搞混。所以从网站研究了点资料,总…

    好文分享 2025年12月24日
    000
  • 关于如何解决css3中calc在less编译时被计算的办法

    这篇文章主要介绍了浅谈css3中calc在less编译时被计算的解决办法的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 对于前端er来说,Less或Sass已经是一项必备的基本技能,有了这个利器,可以省下前端开发者的很多编码时间,让你写CSS如行云流水一般,然后最近我在Less里加入c…

    好文分享 2025年12月24日
    000
  • 利用CSS3的border-radius实现绘制太极及爱心的图案

    css3中的border-radius可以轻松地用来绘制弧线,如果只用来做圆角矩形的话可就太浪费了,下面就来展示一下利用css3的border-radius绘制太极及爱心图案示例,需要的朋友可以参考下 太极图border-radius 除了做边框圆角效果之外,把它用在画图示上的话,其实能产生出很多不…

    2025年12月24日 好文分享
    000
  • 如何使用css3做0.5px的细线

    这篇文章主要介绍了使用css3做0.5px的细线的示例代码的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 Webapp中的CSS3实现 0.5px的细线 感觉很长时间没写过博客了,最近生活还算稳定,过得较为充实,所以又要开始写写东西了,一个是为了做些记录,是怕自己某一天,忘记了,回头翻…

    2025年12月24日 好文分享
    000
  • CSS3如何实现同时执行倾斜和旋转的动画效果

    这篇文章通过实例代码给大家主要介绍了,如何利用css3实现同时执行倾斜和旋转的动画效果,文中给出了完整的实例代码,大家直接运行就可以看到效果,有需要的朋友们可以参考借鉴,下面来一起看看吧。 先看看静态的效果,运行后的效果更好 示例代码如下 css3学习 .d{width: 200px;height:…

    2025年12月24日
    000
  • 利用CSS3实现地球自转

    这篇文章主要介绍了关于利用css3实现地球自转,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 CSS3实现地球自转,不可思议啊,不过确实可以实现,不信的朋友可以祥看本文,附送源码 最终成果: 素材:两张图片, 立即学习“前端免费学习笔记(深入)”; espaco.jpg(1600*1…

    2025年12月24日 好文分享
    000
  • 关于CSS3绘制六边形的方法

    下面为大家带来一篇css3绘制六边形的简单实现。内容挺不错的,现在就分享给大家,也给大家做个参考。 因为很简单,所以先总结一下:使用CSS3绘制六边形主要使用伪类:before和:after在源元素之前和之后再绘制两个元素,并利用css3的边框样式,将这两个元素变成三角形放置在源元素的两端即可。 (…

    2025年12月24日 好文分享
    000
  • 利用SVG和CSS3实现炫酷的边框动画

    这篇文章主要介绍了利用svg和css3来实现一个炫酷的边框动画,不使用javascript使得编写过程轻松了不少,需要的朋友可以参考下 今天我们来探索一下Carl Philipe Brenner的网站上一个微妙而有趣的动画效果。当鼠标经过网格元素时,会有一个微妙的动画发生——网格元素变得透明,每条边…

    2025年12月24日
    000
  • 利用CSS3实现了八组超炫酷鼠标滑过图片动画

    这篇文章主要为大家分享了8组超炫酷纯css3鼠标滑过图片动画效果,每一个动画效果都很精彩,值得大家学习借鉴,感兴趣的小伙伴们可以参考一下 这是一款效果超酷的纯CSS3鼠标滑过图片动画效果,它共分为8组不同的效果,它们分别在鼠标滑过图片时,以不同的方式显示遮罩层和图片标题。每一组效果又分为3种不同的鼠…

    2025年12月24日 好文分享
    000
  • CSS3实现的图片放大镜特效

    一款用纯css3实现的图片放大镜特效。页面打开五个小图显示于页面。当鼠标经过图片时,当前图片以灰色背景图的形式展示,需要的朋友不要错过 今天要给大家分享的的一款用纯css3实现的图片放大镜特效。页面打开五个小图显示于页面。当鼠标经过图片时,当前图片以灰色背景图的形式展示。效果非常不错。   实现的代…

    2025年12月24日
    000
  • 关于css3弹性盒模型的介绍

    这篇文章主要介绍了关于css3弹性盒模型的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Css3引入了新的盒模型——弹性盒模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间,使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局 Css3引入…

    2025年12月24日
    000
  • 如何使用css3画个同心圆

    这篇文章主要给大家介绍了利用css3如何画个同心圆的相关资料,文中给出了详细的示例代码,并对代码进行了详细的解析方法大家理解和学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 基本思路 首先你得画三个圆吧,那三个圆怎么重叠到一块呢?这个就得靠-margin来控制了。 css 立即学…

    2025年12月24日
    000
  • 关于CSS3中的calc() 方法

    这篇文章主要介绍了详解css 3 的 calc() 方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 下面一段代码给大家介绍css3中的calc()方法,具体内容如下所示: [Ctrl+A 全部选择 提示:您可先修改部分代码,再按运行] 如上代码,预览可以看出红色框超出了,因为在标准的 CSS…

    好文分享 2025年12月24日
    000
  • css3中移动属性的分析

    这篇文章主要介绍了css3学习系列之移动属性详解,内容挺不错的,现在分享给大家,也给大家做个参考。 transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: scale方法使用示例 p { width: 300…

    2025年12月24日 好文分享
    000
  • 使用CSS3编写灰阶滤镜来制作黑白照片效果

    这篇文章主要介绍了使用css3编写灰阶滤镜来制作黑白照片效果的方法,css3中的filter十分强大,文中还介绍了对ie兼容的方法,需要的朋友可以参考下 CSS3 中的滤镜(filter)功能让我们轻松方便简单的处理图片,而不需要使用 PhotoShop 或者使用很多 JavaScript、PHP …

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信