这篇文章主要介绍了如何使用CSS3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。
@keyframesHSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
规则用于创建动画。HSkHTML5中文学习网 - HTML5先行者学习网
@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果HSkHTML5中文学习网 - HTML5先行者学习网
@keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。HSkHTML5中文学习网 - HTML5先行者学习网
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:HSkHTML5中文学习网 - HTML5先行者学习网
规定动画的名称HSkHTML5中文学习网 - HTML5先行者学习网
规定动画的时长HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
animationHSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
animation 属性是一个简写属性,用于设置动画属性:HSkHTML5中文学习网 - HTML5先行者学习网
animation-name:规定 @keyframes 动画的名称。HSkHTML5中文学习网 - HTML5先行者学习网
animation-duration:规定动画完成一个周期所花费的秒或毫秒。默认是 0。HSkHTML5中文学习网 - HTML5先行者学习网
animation-timing-function:规定动画的速度曲线。默认是 "ease"。HSkHTML5中文学习网 - HTML5先行者学习网
animation-delay:规定动画何时开始。默认是 0HSkHTML5中文学习网 - HTML5先行者学习网
animation-iteration-count:规定动画被播放的次数。默认是 1。HSkHTML5中文学习网 - HTML5先行者学习网
animation-direction:规定动画是否在下一周期逆向地播放。默认是 "normal"。HSkHTML5中文学习网 - HTML5先行者学习网
animation-fill-mode:规定对象动画时间之外的状态HSkHTML5中文学习网 - HTML5先行者学习网
侧边栏实现HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
/* 动画定义 */HSkHTML5中文学习网 - HTML5先行者学习网
@-webkit-keyframes move_right {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateX(120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateX(120px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
@keyframes move_right {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateX(120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateX(120px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
@-webkit-keyframes move_left {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateX(-120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateX(-120px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
@keyframes move_left {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateX(-120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateX(-120px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
@-webkit-keyframes move_up {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
@keyframes move_up {HSkHTML5中文学习网 - HTML5先行者学习网
from {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
to {HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform: translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
transform: translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
/* 动画绑定 */HSkHTML5中文学习网 - HTML5先行者学习网
.move_right {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-name : move_right;HSkHTML5中文学习网 - HTML5先行者学习网
animation-name : move_right;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
.move_left {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-name : move_left;HSkHTML5中文学习网 - HTML5先行者学习网
animation-name : move_left;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
.move_up {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-name : move_up;HSkHTML5中文学习网 - HTML5先行者学习网
animation-name : move_up;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
animation-duration : 1s;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
animation-iteration-count : 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
animation-fill-mode : forwards;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
.fadeIn {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform : translateX(120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform : translateX(120px); HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
.fadeInUp {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform : translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
transform : translateY(-250px);HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 1;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transition :-webkit-transform .2s ease-out,opacity .2s ease-out; HSkHTML5中文学习网 - HTML5先行者学习网
transition :transform .2s ease-out, opacity .2s ease-out;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
.fadeOutLeft {HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transform : translateX(-120px);HSkHTML5中文学习网 - HTML5先行者学习网
transform : translateX(-120px); HSkHTML5中文学习网 - HTML5先行者学习网
opacity: 0.0;HSkHTML5中文学习网 - HTML5先行者学习网
-webkit-transition :-webkit-transform .2s ease-out,opacity .2s ease-out; HSkHTML5中文学习网 - HTML5先行者学习网
transition :transform .2s ease-out, opacity .2s ease-out;HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网htmlHSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
<!doctype html>HSkHTML5中文学习网 - HTML5先行者学习网
<html lang="en" class="fullHeight">HSkHTML5中文学习网 - HTML5先行者学习网
<head>HSkHTML5中文学习网 - HTML5先行者学习网
<meta charset="UTF-8">HSkHTML5中文学习网 - HTML5先行者学习网
<title>demo</title>HSkHTML5中文学习网 - HTML5先行者学习网
<link rel="stylesheet" type="text/css" href="sidebar.css">HSkHTML5中文学习网 - HTML5先行者学习网
</head>HSkHTML5中文学习网 - HTML5先行者学习网
<body class="fullHeight">HSkHTML5中文学习网 - HTML5先行者学习网
<div class='sidebar fullHeight'>sidebar</div>HSkHTML5中文学习网 - HTML5先行者学习网
<div class="controller">HSkHTML5中文学习网 - HTML5先行者学习网
<div>HSkHTML5中文学习网 - HTML5先行者学习网
<button onclick="fadeIn()">淡进</button>HSkHTML5中文学习网 - HTML5先行者学习网
<button onclick="fadeOut()">淡出</button>HSkHTML5中文学习网 - HTML5先行者学习网
</div>HSkHTML5中文学习网 - HTML5先行者学习网
<div>HSkHTML5中文学习网 - HTML5先行者学习网
<button onclick="fadeInUp()">向上淡进</button>HSkHTML5中文学习网 - HTML5先行者学习网
<button onclick="fadeOutLeft()">向左淡出</button>HSkHTML5中文学习网 - HTML5先行者学习网
</div>HSkHTML5中文学习网 - HTML5先行者学习网
</div>HSkHTML5中文学习网 - HTML5先行者学习网
<script src="sidebarEffects.js"></script>HSkHTML5中文学习网 - HTML5先行者学习网
</body>HSkHTML5中文学习网 - HTML5先行者学习网
</html>HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网加入JSHSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网
<script>HSkHTML5中文学习网 - HTML5先行者学习网
var sidebarEl = document.querySelector(".sidebar");HSkHTML5中文学习网 - HTML5先行者学习网
function fadeIn (e) {HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.className = 'sidebar fullHeight';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.top = '0px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.left = '0px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.classList.add('move_right');HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
function fadeOut (e) {HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.className = 'sidebar fullHeight';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.left = '120px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.classList.add('move_left');HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
function fadeInUp(e) {HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.className = 'sidebar fullHeight';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.top = '250px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.left = '120px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.classList.add('move_up');HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
function fadeOutLeft(e) {HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.className = 'sidebar fullHeight';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.top = '0px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.style.left = '120px';HSkHTML5中文学习网 - HTML5先行者学习网
sidebarEl.classList.add('move_left');HSkHTML5中文学习网 - HTML5先行者学习网
}HSkHTML5中文学习网 - HTML5先行者学习网
</script>HSkHTML5中文学习网 - HTML5先行者学习网
HSkHTML5中文学习网 - HTML5先行者学习网以上就是使用CSS3制作侧边栏动画效果的全部内容和代码了,小伙伴们根据自己的项目需求来改善美化下就可以了哦。