CSS中的过渡知识点整理

过渡

动画和过渡的区别

  • 动画和过渡类似,都是可以实现一些动态的效果;
  • 不同的是过渡需要在某个事件来触发,而动画可以自动触发动态效果;
  • 设置动画效果,必须先要设置一个关键帧(@keyframes),关键帧设置了动画执行每一个步骤。

过渡的概率

过渡是元素从一种样式逐渐改变为另一种的效果。

作用
  • 可以指定一个属性发生变化时的切换方式;
  • 可以创建一些非常好的效果,提升用户的体验。

过渡的连写方式

指定过渡属性

transition-property 指定要执行过渡的属性。

  • none:没有属性获得过渡
  • all:给所有属性都设置上过渡
  • property:定义多个过渡效果的 CSS 属性名称列表,列表以逗号分隔

比如:transition-property: all; transition-property: height , width;

<style>
  div {
    width: 100px;
    height: 100px;
    background-color: pink;
    /* transition-property: all; */
    /* 两种方式效果一样 */
    transition-property: width, height;
  }

  div:hover {
    width: 200px;
    height: 200px;
  }
</style>
<body>
	<div></div>
</body>

在这里插入图片描述

过渡持续时间

transition-duration 设置过渡效果的执行时间,也就是过渡完成一个周期所花费的时间。

时间单位可以选择s 或者ms1s = 1000ms),时间越长,过渡的动画效果就会越慢。

比如:transition-duration: 4s; transition-duration: 100ms, 2s;

<style>
  div {
    width: 100px;
    height: 100px;
    background-color: pink;
    transition-property: all;
    transition-duration: 2s;
  }

  div:hover {
    width: 200px;
    height: 200px;
  }
</style>
<body>
	<div></div>
</body>

在这里插入图片描述

过渡的速度曲线

transition-timing-function 设置过渡切换效果的速度

可以设置的值:

  • ease:先加速在减速,默认
  • ease-in:加速
  • ease-out:减速
  • ease-in-out:以低速开始和结束
  • linear:匀速
  • steps(int,start|end):间隔数量 (步长)
    • int:间隔数,是一个正整数(大于 0)
    • start:可选,动画的第一帧会被立即执行,直接从第二帧开始,然后以第一帧结束
    • end:可选,从第一帧开始到正常结束,默认
  • cubic-bezier(n,n,n,n):设置自己想要的值,值可以是从 0 到 1 的数值
  • steps(int,start|end):间隔数量 (步长)
    • int:间隔数,是一个正整数(大于 0)
    • start:可选,在时间开始时执行过渡
    • end:可选,在时间结束时执行过渡,默认
<style>
  div {
    width: 100px;
    height: 100px;
    background-color: pink;
    transition-property: all;
    transition-duration: 2s;
    /* transition-timing-function: steps(2, start); */
    transition-timing-function: steps(2);
  }

  div:hover {
    width: 200px;
    height: 200px;
  }
</style>
<body>
	<div></div>
</body>

steps(2,start)效果

steps(2)效果
steps(2)

过渡的延迟

animation-delay 设置过渡什么时候开始,也就是延迟时间是多久 。 (默认是0)

比如:transition-delay: 2s;

<style>
  div {
    width: 100px;
    height: 100px;
    background-color: pink;
    transition-property: all;
    transition-duration: 2s;
    transition-timing-function: steps(2);
    transition-delay: 2s;
  }

  div:hover {
    width: 200px;
    height: 200px;
  }
</style>
<body>
	<div></div>
</body>

在这里插入图片描述

过渡的简写方式

transition 可以同时设置过渡相关的所有属性,多个过渡效果用,分隔。

注意:如果既有持续时间,也有延迟时间,则 第一个持续时间第二个延迟时间

语法transition:要过渡的属性 持续时间 速度曲线 延迟时间;

<style>
  div {
    width: 100px;
    height: 100px;
    background-color: pink;
    transition: all 2s steps(2) 2s;
  }

  div:hover {
    width: 200px;
    height: 200px;
  }
</style>
<body>
	<div></div>
</body>

在这里插入图片描述

兼容

在IE9及以下不兼容

  • -moz-: 支持 Firefox 更早的版本
  • -webkit-: 支持 Chrome 和 Safari 更早版本
  • -o-:支持 Opera 更早的版本
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值