CSS3 新特性-transition和animation

一.transition和animation的区别

transition

transition 属性是一个简写属性,用于设置四个过渡属性:

  • transition-property //规定设置过渡效果的 CSS 属性的名称。
  • transition-duration //规定完成过渡效果需要多少秒或毫秒。 默认:0
  • transition-timing-function //规定速度效果的速度曲线。
  • transition-delay // 属性规定过渡效果何时开始。 默认0

animation

animation属性是一个简写属性,用于设置六个动画属性:

  • animation-name //规定需要绑定到选择器的 keyframe 名称。。
  • animation-duration //规定完成动画所花费的时间,以秒或毫秒计。
  • animation-timing-function /规定动画的速度曲线。
  • animation-delay 规定在动画开始之前的延迟。
  • animation-iteration-count //规定动画应该播放的次数。
  • animation-direction //规定是否应该轮流反向播放动画。

w3c 介绍

区别

1、transition 是过渡,是样式值的变化的过程,只有开始和结束;animation 其实也叫关键帧,通过和 keyframe 结合可以设置中间帧的一个状态;
2、animation 自动触发,而 transition 需要通过 hover 或者 js 事件来配合触发;
3、animation 可以设置很多的属性,比如循环次数,动画结束的状态等等,transition 只能触发一次;
4、animation 可以结合 keyframe 设置每一帧,但是 transition 只有两帧;
5、在性能方面:浏览器有一个主线程和排版线程;主线程一般是对 js 运行的、页面布局、生成位图等等,然后把生成好的位图传递给排版线程,而排版线程会通过 GPU 将位图绘制到页面上,也会向主线程请求位图等等;我们在用使用 aniamtion 的时候这样就可以改变很多属性,像我们改变了 width、height、postion 等等这些改变文档流的属性的时候就会引起,页面的回流和重绘,对性能影响就比较大,但是我们用 transition 的时候一般会结合 tansfrom 来进行旋转和缩放等不会生成新的位图,当然也就不会引起页面的重排了;

1.实现一个滑动按钮,鼠标悬浮时自动向右滑动
要求1.只使用一个dom元素 2.按钮宽度要与父元素自适应

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Box-sizing</title>
    <style>
      .btn{
        width: 200px;
        height: 50px;;
        background-color: blanchedalmond;
        
        position: relative;
        
      }
      .btn::after{
        position: absolute;
        content: '';
        width: 30px;
        height: 50px;
        left: 0;
        top: 0;
        background-color: blue;
        transition: all 2s ease;
      }
      .btn:hover::after{
        left: 170px;
      }
    </style>
  </head>

  <body>
    <div class="btn"></div>
    <script>

    </script>
  </body>
</html>

二.transform

transition、transform、animation三个属性的使用与区别详解
CSS3-转换之skew

css3系列之详解perspective

猜你喜欢

转载自blog.csdn.net/HZ___ZH/article/details/114498992