面试官: css3动画了解吗? 我: .......

2019-06-03  本文已影响0人  李贵功

transition(过渡)

transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值

transition主要包含四个属性值:

执行变换的属性:transition-property

变换延续的时间:transition-duration

在延续时间段,变换的速率变化:transition-timing-function

变换延迟时间:transition-delay

<div class="box"></div>
<style>
    .box {
      width: 100px;
      height: 100px;
      background: cornsilk;
      margin: 200px auto;
      transition: all 2s ease-in-out;
    }
    .box:hover{
      width: 200px;
      height: 200px;
    }
  </style>

这里需要注意一个transition加在.box.box:hover上的区别

.box:直接上图

.box {
  transition: all 2s ease-in-out;
}
加在.box上的
.box:hover直接上图(只在鼠标放上时有效果,离开时没有效果)
.box:hover {
    transition: all 2s ease-in-out;
}
image

注意事项

animation

描述
name 用来调用@keyframes定义好的动画,与@keyframes定义的动画名称一致
duration 指定元素播放动画所持续的时间
timing-function 规定速度效果的速度曲线,是针对每一个小动画所在时间范围的变换速率
delay 定义在浏览器开始执行动画之前等待的时间,值整个animation执行之前等待的时间
iteration-count 定义动画的播放次数,可选具体次数或者无限(infinite)
direction 设置动画播放方向:normal(按时间轴顺序),reverse(时间轴反方向运行),alternate(轮流,即来回往复进行),alternate-reverse(动画先反运行再正方向运行,并持续交替运行)
play-state 控制元素动画的播放状态,通过此来控制动画的暂停和继续,两个值:running(继续),paused(暂停)
fill-mode 控制动画结束后,元素的样式,有四个值:none(回到动画没开始时的状态),forwards(动画结束后动画停留在结束状态),backwords(动画回到第一帧的状态),both(根据animation-direction轮流应用forwards和backwards规则),注意与iteration-count不要冲突(动画执行无限次)

name 用来调用@keyframes定义好的动画,与@keyframes定义的动画名称一致

transform

transform就是变形,主要包括旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。

transform: translateZ(0); 来开启硬件加速

上一篇下一篇

猜你喜欢

热点阅读