CSS transition

CSS Transitions allows property changes in CSS values to occur smoothly over a specified duration.

CSS transition允许css属性在一段时间内平稳地改变,进而能够实现过渡效果的动画。可应用于所有元素、::before和::after伪元素。

属性设置

css transition可以通过transition属性来设置

transition: <property> <duration> <timing-function> <delay>

/** 也可以分开写 **/
transition-property: [property]
transtion-duration: [duration]
transition-timing-function: [timing-function]
transition-delay: [delay]

/** demo **/
div {
  width: 100px;
  transition: width 3s ease-in 0.5s;
}
div:hover {
  width: 200px;
}

transtion-property

transtion-property表示要过渡性改变的属性。

transition-property: none | <single-transtion-property> # /* #表示可重复一次或多次*/
<single-transtion-property> = all | <custom-ident>

transition-property默认值为all,不是继承属性,可以应用于所有元素、::before和::after伪元素,transition-property可以有多个值(如:width、height等)。

transition-duration

transition-duration表示属性过渡性变化持续的时长。

transition-duration: <time> #

transition-duration默认值为"0s",不是继承属性,可以应用于所有元素、::before和::after伪元素,transition-duration可以有多个值。

transition-timing-function

transition-timing-function表示属性过渡性变化的变化速度。

transition-timing-function: <single-timing-function> #
<single-timing-function> = linear | <cubic-bezier-timing-function> | <step-timing-function> | <frames-timing-function>
<cubic-bezier-timing-function> = ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)
<step-timing-function> = step-start | step-end | steps(<integer>[, [ start | end ] ]?)
<frames-timing-function> = frames(<integer>)

默认值为“ease”,非继承属性。

transition-delay

transition-delay表示过渡性变化发生的时间,即延迟时间。

transition-delay: <time> #

transition-delay默认值为"0s",不是继承属性,可以应用于所有元素、::before和::after伪元素,transition-delay可以有多个值。

transition

transition是以上四个属性的简写,建议使用改写法。

transition: <single-transition> #
<single-transition> = [ none | <single-transition-property> ] || <time> || <single-timing-function> || <time>

简单的demo

See the Pen CSS Transition by peyton (@peytonzhao) on CodePen.

results matching ""

    No results matching ""