Home >Web Front-end >CSS Tutorial >CSS3 implements sidebar expansion and collapse animation
This article mainly introduces how to use CSS3 to implement the sidebar expansion and collapse animation, and attaches sample code. It is very detailed and recommended to friends who need it.
@keyframes
Rules are used to create animations.
@keyframes Specify a certain CSS style to create an animation effect that gradually changes from the current style to a new style.
@When creating animations in keyframes, please bind it to a selection device, otherwise the animation effect will not be produced.
An animation can be bound to a selector by specifying at least two of the following CSS3 animation properties:
Specify the name of the animation
Specify the duration of the animation
animation
The animation property is a shorthand property for setting animation properties:
animation-name: Specifies the name of the @keyframes animation.
animation-duration: Specifies the seconds or milliseconds it takes for the animation to complete one cycle. The default is 0.
animation-timing-function: Specifies the speed curve of animation. The default is "ease".
animation-delay: Specifies when the animation starts. The default is 0
animation-iteration-count: Specifies the number of times the animation is played. The default is 1.
animation-direction: Specifies whether the animation plays in reverse in the next cycle. The default is "normal".
animation-fill-mode: Specifies the state outside the object animation time
Sidebar implementation
/* 动画定义 */ @-webkit-keyframes move_right { from { opacity: 0; } to { opacity: 1; -webkit-transform: translateX(120px); transform: translateX(120px); } } @keyframes move_right { from { opacity: 0; } to { opacity: 1; -webkit-transform: translateX(120px); transform: translateX(120px); } } @-webkit-keyframes move_left { from { opacity: 1; } to { opacity: 0; -webkit-transform: translateX(-120px); transform: translateX(-120px); } } @keyframes move_left { from { opacity: 1; } to { opacity: 0; -webkit-transform: translateX(-120px); transform: translateX(-120px); } } @-webkit-keyframes move_up { from { opacity: 0; } to { opacity: 1; -webkit-transform: translateY(-250px); transform: translateY(-250px); } } @keyframes move_up { from { opacity: 0; } to { opacity: 1; -webkit-transform: translateY(-250px); transform: translateY(-250px); } }rrree
html
/* 动画绑定 */ .move_right { -webkit-animation-name : move_right; animation-name : move_right; -webkit-animation-duration : 1s; animation-duration : 1s; -webkit-animation-iteration-count : 1; animation-iteration-count : 1; -webkit-animation-fill-mode : forwards; animation-fill-mode : forwards; } .move_left { -webkit-animation-name : move_left; animation-name : move_left; -webkit-animation-duration : 1s; animation-duration : 1s; -webkit-animation-iteration-count : 1; animation-iteration-count : 1; -webkit-animation-fill-mode : forwards; animation-fill-mode : forwards; } .move_up { -webkit-animation-name : move_up; animation-name : move_up; -webkit-animation-duration : 1s; animation-duration : 1s; -webkit-animation-iteration-count : 1; animation-iteration-count : 1; -webkit-animation-fill-mode : forwards; animation-fill-mode : forwards; } .fadeIn { -webkit-transform : translateX(120px); transform : translateX(120px); opacity: 1; } .fadeInUp { -webkit-transform : translateY(-250px); transform : translateY(-250px); opacity: 1; -webkit-transition :-webkit-transform .2s ease-out,opacity .2s ease-out; transition :transform .2s ease-out, opacity .2s ease-out; } .fadeOutLeft { -webkit-transform : translateX(-120px); transform : translateX(-120px); opacity: 0.0; -webkit-transition :-webkit-transform .2s ease-out,opacity .2s ease-out; transition :transform .2s ease-out, opacity .2s ease-out; }
Join JS
<!doctype html> <html lang="en" class="fullHeight"> <head> <meta charset="UTF-8"> <title>demo</title> <link rel="stylesheet" type="text/css" href="sidebar.css"> </head> <body class="fullHeight"> <p class='sidebar fullHeight'>sidebar</p> <p class="controller"> <p> <button onclick="fadeIn()">淡进</button> <button onclick="fadeOut()">淡出</button> </p> <p> <button onclick="fadeInUp()">向上淡进</button> <button onclick="fadeOutLeft()">向左淡出</button> </p> </p> <script src="sidebarEffects.js"></script> </body> </html>
The above is all the content and code for using CSS3 to create sidebar animation effects. Friends can improve and beautify it according to their own project needs. Oh.
The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
How to draw a loading circle animation with css3
How to set up CSS
Text font color
The above is the detailed content of CSS3 implements sidebar expansion and collapse animation. For more information, please follow other related articles on the PHP Chinese website!