CSS3 transition
CSS3 transition allows CSS property values to transition smoothly within a certain time interval. This effect can be triggered by a mouse click, focus, being clicked, or any change to an element, and smoothly animates CSS property values.
transition:[<transition-property> || <transition-duration> || <transition-timing-function> || <transition-delay>]
transition-property: Specify the CSS property of the transition.
transition-duration: Specify the time required to complete the transition.
transition-timing-function: Specify the transition speed control function.
transition -delay: Specify the delay time for the transition to begin.
The transition attributes are similar to border and font attributes, which can be abbreviated or written separately. When abbreviated, each function is separated by spaces and needs to be arranged in a certain order. In addition, when acting on multiple transition attributes, separate them with commas. As follows:
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><title></title><style> div{ width:50px; height:100px; background:#ffd800; /*分开使用transition的扩展属性*/ transition-property:width,height,background; transition-duration:1s; transition-timing-function:ease; transition-delay:.2s; /*使用transition简写属性*/ transition:width 1s ease .2s,height 1s ease .2s,background 1s ease .2s; } div:hover{ width:100px; height:50px; background:#00ff90; }</style></head><body> <div></div></body></html>
transition-property:no | all | <single-transition-property> [, <single-transition-property>] *
None: No style is specified.
All: Default value, indicating all styles of the specified element that support the transition-property attribute.
Not all styles can apply transition-property for transition. Only styles with a midpoint value can have transition effects, such as color, length, gradient, etc.
transition-duration:<time> [,<time>] *
transition-timing-function:<single-transition-timing-function> [,<single-transition-timing-function>] *
Single transition function
Ease: Default value, when the element style transitions from the initial state to the terminal state, the speed changes from fast to slow, and then gradually slows down.
Linear: The element style transitions from the initial state to the final state at a constant speed.
Ease-in: When the element style transitions from the initial state to the terminal state, the speed becomes faster and faster, showing an acceleration state. This effect is called the fade effect.
Ease-out: When the element style transitions from the initial state to the terminal state, the speed becomes slower and slower, showing a deceleration state. This effect is called the fade effect.
Ease-in-out: When the element style changes from the initial state to the terminal state, it first accelerates and then decelerates. This effect is called a fade-in effect.
Cubic Bezier Curve: Used to define a more accurate transition function.
The syntax for defining a cubic Bezier curve is as follows:
cubic-bezier(p0,p1,p2,p3)
Each point value only allows a value of 0~1, which is equivalent to 0% to 100%, the values of p0 and p3 Fixed, they always represent the starting point coordinates (0,0) and the end point coordinates (1,1). Therefore, you only need to set the point values of p1 and p2.
Can be simulated and implemented using online cubic Bezier tools.
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><title></title><style> div{ width:50px; height:100px; background:#ffd800; transition-property:width,height,background; transition-duration:1s; /*定义了三次贝塞尔曲线函数,p1的坐标是(.57,.07),p2的坐标是(.69,.16)*/ transition-timing-function:cubic-bezier(.57,.07,.69,.16); transition-delay:.2s; } div:hover{ width:100px; height:50px; background:#00ff90; }</style></head><body> <div></div></body></html>
steps() function : used to divide the entire operation field into intervals of the same size, and each interval is equal.
steps(<integer> [, [start | end]]?)
The first parameter is a numerical value, mainly used to specify the number of intervals of the steps() function. This value must be a positive integer greater than 0.
The second parameter is optional and the default value is end.
Transition-timing-function: steps (3, start);
It means that it is divided into 3 steps. The step effect of the animation jumps from the beginning of each step, so the step is 3 /1, 3/2, 3/3.
transition-timing-function: steps (3, end);
It means that it is divided into 3 steps, and the step effect of the animation jumps from the end of each step, so The steps are 0, 3/1, 3/2.
transition-delay:<time> [, <time>] *
Transition-delay: used to specify the time when an animation starts to execute, that is, how long it takes to start executing the transition effect after changing the element attribute value. It can be a positive integer, a negative integer and 0. When non-zero, the unit must be set to s (seconds) or ms (milliseconds).
When it is a positive integer, it is easy to understand. It means delaying the execution of the transition for a few seconds. When it is a negative integer, it truncates the previous time of the element, that is, the value used for the transition-duration transition time minus the delay value of the transition-delay. The value will not occur and jump directly to the remaining value for transition.
You have already mastered the basic knowledge of CSS3 transition. Simply put, it is one attribute with four values. Next, you only need to type the code a few times and experience the effects of each value, and then you can understand it.