CSS过渡属性、动画属性详解

1. transition过渡效果属性

过渡:可以实现元素在变换过程中的过渡效果
过渡效果可在鼠标悬停(:hover)、鼠标单击(:active)、表单获得焦点(:foucus)等伪类或者对元素改变以及在结合js来呈现。

1.1 transition属性的分解写法

  1. transition-property 指定过渡的属性

可以用来指定需要过渡的那个属性(如width、height等),默认值是all,所有的属性都会过渡。
如: transition-property: width,height,background-color;

  1. transition-duration 过渡的持续时间

过渡持续时间,通常用秒s 或者 毫秒ms作单位。默认值0,所以这一项是必须的,否则跟瞬间变化没有区别。
如:transition-duration: 5s;

  1. transition-timing-function 过渡的运行曲线

定义过渡的速度曲线。默认值ease。其他属性值如下:

  • linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
  • ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
  • ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
  • ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
  • ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
  • 贝赛尔曲线在线生成器
    cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值,上述几个值都可以通过贝塞尔曲线在线生成器自定义制作,然后复制数据即可。
  1. transition-delay 过渡延迟时间

过渡延迟多久后开始执行。通常用秒s 或者 毫秒ms作单位。默认值0。

1.2 transition属性的复合写法

一般规范遵循顺序:

过渡: 需要过渡的属性 持续时间 速度运行曲线 延迟时间;
如:transition: all 5s linear 10s;

1.3 多个属性,分开设置

如果针对不同属性需要有不同的过渡设置,可以使用逗号分隔开
如:transition: width 5s, height 10s,background-color 15s;

1.4 注意

并不是所有属性都能产生动画效果,比如display(display:none隐藏)、z-index(定位层级)等都是不支持动画和过渡效果的,因为他们都是一瞬间的时间。只有确却的数值到数值的变化,或者颜色到颜色的变化,才能拥有动画效果。

2. animation 动画效果属性

画是指由许多帧静止的画面,以一定的速度(如每秒16张)连续播放时
肉眼因视觉残象产生错觉,而误以为画面活动的作品。transition过渡属性与animation动画属性可以帮助我们自动的生成动画关键帧。

2.1 @keyframes: 定义动画关键帧

格式:定义动画关键帧 然后绑定相应动画名
如:@keyframes 对应的动画名 { }

  1. 动画帧写法第一种 常用
    0~100 可以自己 自定义插帧,如:
    第一帧:0%{ background-color: pink; }
    0~100中间的帧数 可以按照自己的需求来进行补帧数:50%{ background-color: red; }
    最后一帧:100%{ background-color: blue; }

  2. 动画帧写法第二种
    只有开始帧和结束帧,中间不能自定设置其他帧数。如:
    开始帧:from{background-position-x: 0px;}
    结束帧:to{background-position-x: -1600px;}

  3. 注意:元素的 初始状态 和 动画的第一帧 并不一定是一样的。

2.2 animation 动画属性分解 常用的

  1. 动画名属性: animation-name (定义动画名,是给动画帧进行绑定的)

  2. 动画持续时间: animation-duration (通常用秒s 或者 毫秒ms作单位。默认值0。)

  3. 动画播放次数: animation-iteration-count(默认值 1 ,无限循环则设置值为 infinite )

  4. 反向播放: animation-direction: alternate;(规定动画是否反向播放,默认值normal。如果需要反向播放则设置值为 alternate 。)

当设置了反向播放时,动画的播放次数必须大于 1,才能生效。因为第一次播放是不会反向的,第二次播放才会反向,所以动画播放次数起码是2次,才能看到反向效果。

  1. 动画延迟时间: animation-delay (延迟多久后开始执行,通常用秒s 或者 毫秒ms作单位。默认值0。)

  2. 动画运行速度曲线: animation-timing-function(同上面1.1过渡的运行曲线属性值用法一样)

  3. 动画播放状态: animation-play-state( running默认值:动画运行;paused:动画暂停。通常是配合伪类和js来进行控制动画的播放状态)

2.3 复合写法规范的顺序: (不常用)

动画名 动画时间 速度曲线 延迟时间 播放次数 方向播放;
animation: name duration timing-function delay iteration-count direction;

2.4 补充:steps()

截取图片为几份,来进行插帧
如:animation: wk 1s steps(8) infinite;

总结

上述是小编为大家整理的过渡属性和动画属性,对他们的分解写法和复合写法都进行了讲解。参考多方资料加上自己的理解整理出来的,或有不确之处和疏漏的地方,还望各位大佬能够不吝赐教,加以斧正,小编在此先行谢过了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSS3动画是一种非常强大的动画技术,它可以让网页变得更加生动、美丽。本文将为大家详细介绍CSS3动画的各个属性,包括动画名称,持续时间,延迟时间,动画速度曲线,以及动画的执行次数等。 动画名称(animation-name):与CSS中的类似,动画名称是指定CSS3动画所使用的关键帧动画。这个属性用来指定一个已定义的动画名称,以便调用该动画。 持续时间(animation-duration):定义CSS3动画的持续时间。默认值为0,表示没有动画效果。通过使用单位“秒(s)”或“毫秒(ms)”来定义动画的持续时间。 延迟时间(animation-delay):指定动画开始前的等待时长。默认值为0,即动画将立即开始。通过使用单位“秒(s)”或“毫秒(ms)”来定义延迟时间。 动画速度曲线(animation-timing-function):定义动画的速度曲线,可以使动画有更加自然的过渡效果。使用缓动函数可以让动画更具有灵活性,可以在不同的时间点采用不同的速度曲线,从而实现更复杂的动画效果。 动画执行次数(animation-iteration-count):指定动画的执行次数。可以使用数字或者“infinite”关键字来指定动画的执行次数。如果将其设置为“infinite”则表示动画将一直持续执行下去。 动画方向(animation-direction):指定动画是否循环播放,并且指定循环播放的方向。这个属性可以使用以下值:normal,reverse,alternate和alternate-reverse。 动画填充模式(animation-fill-mode):指定动画在开始或结束时对元素的样式应该如何处理。使用这个属性可以让动画具有更加平滑的效果,可以避免由于动画结束时样式的改变而造成的过度影响。 总之,通过使用上述属性,我们可以为网页添加各种丰富的动画效果,让网页更加互动、生动,也更能吸引用户的眼球。 ### 回答2: CSS3动画是网页开发中非常常用的一种技术,通过使用动画属性可以给页面的元素增添动态的效果。本文将详细介绍CSS3动画的各个属性。 1. animation-name 该属性定义要绑定到要执行动画的@keyframes的名称。@keyframes是定义动画的关键帧的规则集合。 2. animation-duration 该属性定义了动画完成所需的时间,以秒或毫秒为单位。 3. animation-timing-function 该属性定义了动画执行的时间曲线。通过使用不同的时序函数,可以使动画更真实,更有质感。 4. animation-delay 该属性定义动画开始之前的延迟时间,以秒或毫秒为单位。 5. animation-iteration-count 该属性定义动画的迭代次数。可以将其设置为有限或无限。 6. animation-direction 该属性定义动画是否反向播放。 7. animation-fill-mode 该属性定义了元素在动画之前和之后的状态。可以设置为none、forwards、backwards或both。 8. animation-play-state 该属性定义动画的运行状态。可以将其设置为paused或running。 9. animation animation属性是所有动画属性的缩写。它接受每个属性的值作为逗号分隔列表。 总结: 上述就是CSS3动画常用属性的详细介绍。CSS3动画可以用来为页面增添动态效果,提高用户的交互体验。在实际开发中,可以通过不同的动画属性以及不同的取值方式,创建出各种不同的动画效果。在制作动画时,需要考虑兼容性问题,如果要兼容IE9及以下版本,我们还需要使用Vendor Prefix前缀来避免浏览器的兼容问题。 ### 回答3: CSS3动画是将元素从一个状态变换到另一个状态的方式,其中使用了一些简单的CSS属性CSS3动画属性可以通过@keyframe规则或transition属性设置。它们可以用来创造一些很棒的效果,比如向上滚动的标题、浮动的按钮等。下面详细介绍一下CSS3动画涉及的各种属性。 1. animation-name:用来定义动画的名称,这个名称会由animation属性引用。 2. animation-duration:定义动画的持续时间。单位为秒(s)和毫秒(ms)。 3. animation-timing-function:定义动画的速度变化曲线。这个属性定义了过渡的速度,是一个三次贝塞尔函数。可以设置ease、linear、ease-in、ease-out、ease-in-out和cubic-bezier等值。 4. animation-delay:定义动画开始之前的延迟时间。单位为秒(s)和毫秒(ms)。 5. animation-iteration-count:定义动画的重复次数。可以设置为一个具体的数字或infinite表示无限次重复。 6. animation-direction:定义动画结束后是否负向重复播放。可以设置为normal、reverse、alternate和alternate-reverse。 7. animation-play-state:定义动画是运行还是暂停。可以设置为paused和running。 8. animation-fill-mode:定义动画结束后如何应用样式。可以设置为none、forwards、backwards和both。 以上是CSS3动画中涉及的主要属性。其中最重要的要数animation-iteration-count和animation-duration两个属性。animation-iteration-count可以定义动画的重复次数,也可以设置为infinite表示无限次重复。animation-duration用来定义动画的持续时间,如果不设置,默认值为0,此时动画是不会播放的。在设置这两个属性时,需要根据具体情况来确定合适的数值,以达到最佳的动画效果。 总的来说,CSS3动画提供了丰富的效果和属性,可以应用于页面中的各种元素和功能,让页面更加生动、美观、时尚。在开发过程中,合理应用这些属性,可以使前端开发变得更加有趣和富有挑战性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值