😄😊😒过渡

186 阅读2分钟

过渡是很常见的需求,今天我们就过渡进行一些整理。会整理一些常见的过渡,从 css 基本过渡行为,到框架的过渡。

CSS 过渡

CSS 过渡是一种变化行为,我们只需要指定初始化 CSS 属性,和终止 CSS 属性,以及如何触发过渡的属性我们就能创建一个 CSS 过渡,注意,CSS过渡是不需要中间的计算的,过渡的计算CSS提供了一些固定的属性,当然我们也可以自定义,例如使用贝塞尔曲线来自定义。

触发过渡

重点就是变化,我们如何触发过渡,触发过渡的本质就是,改变 CSS 属性。CSS 中触发 CSS 的变化有很多方式:

  • css 伪类:hover等改变 class/style
  • dom 操作:改变class/style
  • 数据驱动:改变 class/style

我们发现都是通过改变样式来实现的过渡。

CSS 过渡属性

  • transition 是一个集合属性
    • transition-delay 过渡延迟
    • transition-duration 过渡持续时间
    • transition-property 过渡属性
    • transition-timing-function 过渡曲线函数
      • ease:(逐渐变慢)默认值
      • linear:(匀速)
      • ease-in:(加速)
      • ease-out:(减速)
      • ease-in-out:(先加速后减速)
      • ease-in-out:(先加速后减速)
  • 事件
    • transitionstart 过渡开始事件
    • transitionrun 过渡运动事件
    • transitionend 过渡结束事件

常见的过渡

  • fade 渐隐渐现
  • slide 滑动效果
    • slide up
    • slide down
    • slide left
    • slide right

jQuery 过渡

jQuery 没有单独的抽象出过渡效果,因为 jQuery 是草dom的。但是 jQuery 抽象出了一些效果:

  • fadeIn()
  • fadeOut()
  • fadeTo()
  • fadeToggle()
  • slideDown()
  • slideToggle()
  • slideUp()

www.runoob.com/jquery/jque…

Vue

Vue 过渡系统: cn.vuejs.org/v2/guide/tr…

React

React 没有在核心代码中实现过渡,但是提供了一个良好的库 Transition, TransitionGroup.

Angular

Angular 动画:angular.cn/guide/anima…

Svelte 过渡

Svelte 过渡: svelte.dev/docs#svelte…