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

这篇文章主要介绍了如何使用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

nbsp;html>            demo            

sidebar

     

         

                                   

         

                                   

            

登录后复制

加入JS

 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'); } 

登录后复制

以上就是使用CSS3制作侧边栏动画效果的全部内容和代码了,小伙伴们根据自己的项目需求来改善美化下就可以了哦。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何用css3绘制一个圆的loading转圈动画

如何设置CSS 文本字体颜色

以上就是CSS3 实现侧边栏展开收起动画的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2897082.html

(0)
上一篇 2025年3月10日 23:20:27
下一篇 2025年2月19日 12:16:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在CSS3中常用的几种颜色渐变模式

    现在html5  css3已经越来越流行,用css3实现p渐变已经不是什么难事了,这篇文章给大家整理了现在常用的三种颜色渐变模式,包括线性渐变、径向渐变和重复的线性渐变,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴,下面来一起看…

    2025年3月10日 编程技术
    200
  • CSS3的图层阴影和文字阴影的使用

    这篇文章主要介绍了关于css3的图层阴影和文字阴影的使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 box-shadow图层阴影属性和text-shadow文字阴影属性在用法上差不多,都以X轴和Y轴坐标系来控制阴影扩展,…

    2025年3月10日 编程技术
    200
  • 用CSS3实现图片翻转效果

    这篇文章主要介绍了css3制作翻转效果的方法,css3打造3d翻牌效果,适用于扑克翻牌等游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息。大家如果制作考验记忆力的…

    2025年3月10日
    200
  • CSS3的default伪类选择器的解析

    css3 :default 伪类选择器只能作用在表单元素上,表示默认状态的表单元素。接下来通过本文给大家介绍css3 :default伪类选择器使用简介,感兴趣的朋友跟随脚本之家小编一起看看吧 一、CSS3 :default伪类选择器简介 …

    2025年3月10日 编程技术
    200
  • 使用CSS3画基本的图形

    这篇文章主要介绍了CSS3 画基本图形,圆形、椭圆形、三角形等的相关资料,需要的朋友可以参考下  CSS3 圆形 #css3-circle{ width: 150px; height: 150px; border-radius: 50%; …

    编程技术 2025年3月10日
    200
  • 使用CSS3点击按钮实现背景渐变动画的效果

    这篇文章给大家介绍的是,利用css3实现当点击按钮的时候,按钮的背景是渐变动画的效果,实现后的效果非常好,开发的时候利用这种效果的按钮会给用户一种非常酷炫的感受,感兴趣的朋友们下面来一起看看吧。 效果图如下: 实例代码如下: nbsp;ht…

    2025年3月10日
    200
  • CSS3的Flexbox骰子布局的实现及分析

    这篇文章主要介绍了关于css3的flexbox骰子布局的实现及分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 骰子布局顾名思义,就是好比骰子的一面最多可以放置9个点,而每个面放置的点数正好就是一个布局的模型图,这里我们就…

    编程技术 2025年3月10日
    200
  • 使用HTML5和CSS3实现生日蛋糕的制作

    这篇文章主要介绍了关于使用HTML5和CSS3实现生日蛋糕的制作,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 “祝你生日快乐,祝你生日快乐……”,过生日有生日歌,生日蛋糕也是必不可少的,这篇文章主要为大家详细介绍了程序员利…

    2025年3月10日
    200
  • 使用HTML和CSS3模拟心跳的实现方法

    本文通过代码给大家介绍了html+css3模拟心的跳动的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 废话不多说了,直接给大家贴代码了,具体代码如下所示: nbsp;html>            模拟心的跳动 * { …

    编程技术 2025年3月10日
    200
  • CSS3实现预载动画效果的几种方法

    本篇文章主要介绍了css3动画:5种预载动画效果实例,内容挺不错的,现在分享给大家,也给大家做个参考。 实现如图所示的动画效果: 预载动画一:双旋圈 在两个不同方向旋转的圆圈。我们对内圈的转速定义了一个CSS代码,即内圈比外圈的速率快2倍。…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论