最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

CSS3实现侧边栏展开收起动画

来源:动视网 责编:小采 时间:2020-11-27 18:48:30
文档

CSS3实现侧边栏展开收起动画

CSS3实现侧边栏展开收起动画:这篇文章主要介绍了如何使用CSS3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。@keyframes规则用于创建动画。@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果@keyframes 中创建动画时
推荐度:
导读CSS3实现侧边栏展开收起动画:这篇文章主要介绍了如何使用CSS3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。@keyframes规则用于创建动画。@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果@keyframes 中创建动画时


这篇文章主要介绍了如何使用CSS3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。

@keyframes

规则用于创建动画。

@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果

@keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。

通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

规定动画的名称
规定动画的时长
animation
animation 属性是一个简写属性,用于设置动画属性:

animation-name:规定 @keyframes 动画的名称。
animation-duration:规定动画完成一个周期所花费的秒或毫秒。默认是 0。
animation-timing-function:规定动画的速度曲线。默认是 "ease"。
animation-delay:规定动画何时开始。默认是 0
animation-iteration-count:规定动画被播放的次数。默认是 1。
animation-direction:规定动画是否在下一周期逆向地播放。默认是 "normal"。
animation-fill-mode:规定对象动画时间之外的状态

侧边栏实现

/* 动画定义 */
@-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);
 }
}
/* 动画绑定 */
 .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;
 }

html

<!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>

加入JS

<script>
 var sidebarEl = document.querySelector(".sidebar");
 function fadeIn (e) {
 sidebarEl.className = 'sidebar fullHeight';
 sidebarEl.style.top = '0px';
 sidebarEl.style.left = '0px';
 sidebarEl.classList.add('move_right');
 }
 function fadeOut (e) {
 sidebarEl.className = 'sidebar fullHeight';
 sidebarEl.style.left = '120px';
 sidebarEl.classList.add('move_left');
 }
 function fadeInUp(e) {
 sidebarEl.className = 'sidebar fullHeight';
 sidebarEl.style.top = '250px';
 sidebarEl.style.left = '120px';
 sidebarEl.classList.add('move_up');
 }
 function fadeOutLeft(e) {
 sidebarEl.className = 'sidebar fullHeight';
 sidebarEl.style.top = '0px';
 sidebarEl.style.left = '120px';
 sidebarEl.classList.add('move_left');
 }
 </script>

文档

CSS3实现侧边栏展开收起动画

CSS3实现侧边栏展开收起动画:这篇文章主要介绍了如何使用CSS3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。@keyframes规则用于创建动画。@keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果@keyframes 中创建动画时
推荐度:
标签: 动画 实现 展开
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top