CSS 动画的新魔法 | Chase McCoy

主要观点:CSS 将迎来两个新特性,使在实现动画时更易避免使用 JavaScript。
关键信息

  • 新特性 1:可对display: none;进行进出动画,如通过关键帧动画实现元素淡入淡出且最终隐藏,也可使用 CSS 过渡,但需设置transition-behavior: allow-discrete
  • 新特性 2:能对元素的固有尺寸(如height: auto;)进行进出动画,常见于可折叠区域,以前需用 JavaScript 测量内容高度并动画到像素值,现在可通过calc-size(auto)实现。
    重要细节
  • 实现元素淡入淡出到display: none;的代码示例:

    .item {
    animation: fade-out 0.5s forwards;
    }
    
    @keyframes fade-out {
    100% {
      opacity: 0;
      display: none;
    }
    }
  • 实现元素从隐藏到显示的代码示例:

    .item {
      @starting-style {
      opacity: 0;
      }
      
      opacity: 1;
    transition: opacity 0.5s;
    }
  • calc-size函数的解释及相关链接:这里
  • 了解更多新特性可查看Google I/O 的 Una Kravets 的精彩视频
阅读 9
0 条评论