导航菜单

炫酷过渡动画隐藏侧边栏界面设计

阿里云


这是一款带炫酷过渡动画效果的响应式隐藏侧边栏界面设计效果。该隐藏侧边栏采用推拉式设计,侧边栏打开时页面的主内容会被推动。另外,在侧边栏打开的状态下,缩放浏览器到一定大小的时候,侧边栏会像被吸附一样扩展到全屏,效果非常酷。

使用方法

该侧边栏设计的图标使用的是 font-awesome 字体图标,使用是需要引入 font-awesome.min.css 文件。

也想出现在这里?联系我们
创客主机
  1. <link rel="stylesheet" href="/path/to/font-awesome.min.css">

HTML 结构

侧边栏的 HTML 结构如下:

  1. <aside>
  2.   <h2>网站Logo</h2>
  3.   <div class="controls">
  4.   <input type="search" id="search" name="search" />
  5.     <label for="search"><i class="fa fa-search"></i></label>
  6.   </div>
  7.   <nav class='site-nav'>
  8.     <a class="active" href="#"><i class="fa fa-home"></i> Home</a>
  9.     <a href="#"><i class="fa fa-gift"></i> Deals & packages</a>
  10.     <a href="#"><i class="fa fa-line-chart"></i> Report Builder</a>
  11.     <a href="#"><i class="fa fa-bell-o"></i> Notifications</a>
  12.   </nav> 
  13.   <footer>
  14.     <a href="" class="avatar">
  15.       <img src="" alt="" />brady Sammons</a>
  16.     <a href=""><i class="fa fa-sign-out fa-rotate-180"></i> Logout</a>  
  17.   </footer>
  18. </aside>

正文部分使用一个<section>元素来包裹。

  1. <section>
  2.   <article>
  3.     <h2>Post Two</h2>
  4.     <p>...</p>
  5.   </article>
  6.   ......
  7. </section>

用于触发侧边栏菜单的按钮放置在顶部导航条上。

  1. <header>
  2.   <div class="left">
  3.     <button id="menu" title="Menu"><i class="fa fa-bars fa-2x"></i></button>
  4.     <h1>Acme CO TNT Division</h1>
  5.   </div>
  6.  
  7.   <div class="utils right">
  8.     <a href="#" class='alerts'><i class="fa fa-bell-o fa-lg"></i></a>
  9.     <i class="sep"> </i>
  10.     <a href="#"><i class="fa fa-life-ring fa-lg"></i></a>
  11.   </div>
  12. </header>

CSS 样式

侧边栏菜单的基本 CSS 样式如下:注意这是移动优先的 CSS 代码编写方式。首先侧边栏被设置为固定定位,宽度和高度都是 100%。并使用 left: -100%;将其隐藏起来。它在宽度上使用了指定贝兹曲线的过渡动画效果,用来制作“gooey”效果。

  1. aside {
  2.   position: fixed;
  3.   height: 100%;
  4.   width: 100%;
  5.   color: #fff;
  6.   left: -100%;
  7.   background-color: #2A3744;
  8.   padding: 20px;
  9.   -moz-transition: left 0.4s ease, width 0.5s cubic-bezier(0.525, -0.35, 0.115, 1.335);
  10.   -o-transition: left 0.4s ease, width 0.5s cubic-bezier(0.525, -0.35, 0.115, 1.335);
  11.   -webkit-transition: left 0.4s ease, width 0.5s cubic-bezier(0.525, -0.35, 0.115, 1.335);
  12.   transition: left 0.4s ease, width 0.5s cubic-bezier(0.525, -0.35, 0.115, 1.335);
  13. }
  14.  
  15. aside a {
  16.   padding: 8px;
  17.   color: rgba(255, 255, 255, 0.7);
  18.   font-weight: 300;
  19.   -moz-transition: background-color 0.3s, color 0.3s;
  20.   -o-transition: background-color 0.3s, color 0.3s;
  21.   -webkit-transition: background-color 0.3s, color 0.3s;
  22.   transition: background-color 0.3s, color 0.3s;
  23. }
  24.  
  25. aside a:hover { color: #fff; }
  26.  
  27. aside a i, aside a img {
  28.   width: 20px;
  29.   text-align: center;
  30.   margin-right: 6px;
  31. }
  32.  
  33. aside .site-nav a { margin-bottom: 3px; }
  34.  
  35. aside .site-nav a.active, aside .site-nav a:hover { background-color: rgba(0, 0, 0, 0.3); }
  36.  
  37. aside .site-nav a.active i { color: #24FFCE; }
  38.  
  39. aside footer {
  40.   margin-top: 10px;
  41.   padding-top: 10px;
  42.   border-top: 1px solid rgba(0, 0, 0, 0.3);
  43.   width: 100%;
  44.   position: absolute;
  45.   bottom: 40px;
  46.   left: 0;
  47.   padding-left: 10px;
  48. }
  49. aside footer a { padding: 8px; }

然后使用媒体查询设置在大屏幕的时候的侧边栏样式。

  1. @media (min-width: 500px) {
  2.   body.nav-open section {
  3.     margin-left: 250px;
  4.   }
  5.  
  6.   aside {
  7.     position: fixed;
  8.     top: 0;
  9.     padding-top: 80px;
  10.     width: 250px;
  11.   }
  12.  
  13.   .site-footer {
  14.     position: fixed;
  15.     z-index: 5;
  16.     bottom: 0;
  17.     left: 0;
  18.   }
  19. }

正文部分的样式非常简单,只是设置了一些最基本的样式。

  1. section {
  2.   -moz-transition: margin-left 0.4s ease;
  3.   -o-transition: margin-left 0.4s ease;
  4.   -webkit-transition: margin-left 0.4s ease;
  5.   transition: margin-left 0.4s ease;
  6. }
  7. section article {
  8.   padding: 20px;
  9. }
  10. section article h2 {
  11.   font-weight: 300;
  12.   font-size: 24px;
  13. }
  14. section article p {
  15.   line-height: 1.5;
  16.   margin-bottom: 10px;
  17. }

JavaScript

该侧边栏特效中使用 jQuery 来简单的处理主菜单按钮的点击事件,为相应的元素添加和移除相应的 class。

  1. $(function () {
  2.     $('#menu').on('click', function () {
  3.         $(this).toggleClass('active');
  4.         $('body').toggleClass('nav-open');
  5.     });
  6. });

炫酷过渡动画隐藏侧边栏界面设计

已有 426 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!