导航菜单

Material Design 风格侧边栏动画UI设计

阿里云


这是一款非常酷的谷歌 Material Design 风格侧边栏动画 UI 设计效果。这个特效涉及到 Communication Design 的知识。当用户用鼠标滑过侧边栏时,侧边栏显示出将要显示的页面的大概内容,这是一种非常直观与用户沟通的展现方式。

HTML 结构

当用户用鼠标滑过一个矩形的侧边栏项的时候,在这个菜单项的上会显示出这个菜单项对应的页面的大概内容的预览图。在这里导航侧边栏菜单的 HTML 结构使用<nav>元素来制作,里面放置一个无序列表。

也想出现在这里?联系我们
创客主机
  1. <nav class="com__nav">
  2.   <ul class="com__nav-list">
  3.     <li class="com__nav-item">
  4.       <a href="" class="com__nav-link">
  5.         <span class="blue-line animate scaleInLeft delay-2"></span>
  6.         <span class="white-line animate scaleInLeft delay-4"></span>
  7.         <span class="white-line animate scaleInLeft delay-5"></span>
  8.       </a>
  9.     </li>
  10.     ......
  11.   </ul>
  12. </nav>

每一个内容面板是一个

元素。

  1. <section class="com__section com__section--text centered">
  2.   <h1 class="animate scaleIn">Communication Design</h1>
  3.   <img class="animate scaleIn delay-3" src="world.svg" alt="" />
  4. </section>

CSS 样式

在 CSS 样式中预置了一些用于动画的类:.animate,.slideInLeft,.slideInRight,.scaleIn 和.scaleInLeft。它们用于元素的动画效果。

  1. .animate {
  2.   -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  3.           transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  4. }
  5.  
  6. .slideInLeft {
  7.   -webkit-transform: translate3d(-100%, 0, 0);
  8.           transform: translate3d(-100%, 0, 0);
  9.   opacity: 0;
  10. }
  11.  
  12. .slideInRight {
  13.   -webkit-transform: translate3d(100%, 0, 0);
  14.           transform: translate3d(100%, 0, 0);
  15.   opacity: 0;
  16. }
  17.  
  18. .scaleIn {
  19.   -webkit-transform: scale(0);
  20.       -ms-transform: scale(0);
  21.           transform: scale(0);
  22. }
  23.  
  24. .scaleInLeft {
  25.   -webkit-transform: scaleX(0);
  26.       -ms-transform: scaleX(0);
  27.           transform: scaleX(0);
  28.   -webkit-transform-origin: left center;
  29.       -ms-transform-origin: left center;
  30.           transform-origin: left center;
  31. }

整个布局的详细 CSS 代码请参考 styles.css 文件。

JAVASCRIPT

在 jQuery 代码中,使用 switchTab()函数来切换侧边栏菜单项,使用户在点击相应的菜单项是内容面板切换为相应的内容。这里是通过索引匹配来完成。activeFirst()函数用于初始化时显示第一个面板和侧边栏第一个菜单项显示为激活状态。

  1. var link = $('.com__nav-link');
  2.   var linkParent = link.parent('li');
  3.   var section = $('.com__section');
  4.   var sectionContent = section.find('*');
  5.   var switchTab = function () {
  6.       var p = $(this).parent('li');
  7.       var i = p.index();
  8.       var s = section.eq(i);
  9.       var c = s.find('*');
  10.       section.removeClass('active');
  11.       sectionContent.removeAttr('style');
  12.       s.addClass('active');
  13.       c.css({
  14.           transform: 'none',
  15.           opacity: 1
  16.       });
  17.       linkParent.removeClass('active');
  18.       p.addClass('active');
  19.       return false;
  20.   };
  21.   link.on('click', switchTab);
  22.   function activeFirst() {
  23.       section.first().addClass('active');
  24.       section.first().find('*').css({
  25.           transform: 'none',
  26.           opacity: 1
  27.       });
  28.       linkParent.first().addClass('active');
  29.   }
  30.   activeFirst();

Material Design 风格侧边栏动画 UI 设计

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

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

发表回复

热销模板

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

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