导航菜单

CSS3移动手机隐藏菜单UI界面设计

阿里云


这是一款效果非常酷的 jQuery 和 CSS3 移动手机隐藏菜单 UI 界面设计。这个 UI 设计共有三种不同的打开隐藏菜单的效果,分别为滑动显示,Material Design 风格效果和展开式效果。

HTML 结构

这三种不同的隐藏菜单的 HTML 结构大致基本相同。第一种滑动效果菜单的 HTML 结构如下:

也想出现在这里?联系我们
创客主机
  1. <div class="screen">
  2.     <div class="navbar"></div>
  3.     <div class="list">
  4.         <div class="item">
  5.             <div class="img"></div>
  6.             <span></span>
  7.             <span></span>
  8.             <span></span>                    
  9.         </div>
  10.  
  11.         <div class="item">
  12.             <div class="img"></div>
  13.             <span></span>
  14.             <span></span>
  15.             <span></span>                    
  16.         </div>
  17.  
  18.         <div class="item">
  19.             <div class="img"></div>
  20.             <span></span>
  21.             <span></span>
  22.             <span></span>                    
  23.         </div>
  24.  
  25.         <div class="item">
  26.             <div class="img"></div>
  27.             <span></span>
  28.             <span></span>
  29.             <span></span>                    
  30.         </div>
  31.     </div>                            
  32.  
  33.     <div class="burger">
  34.         <div class="x"></div>
  35.         <div class="y"></div>
  36.         <div class="z"></div>
  37.     </div>        
  38. </div>  
  39. </div>

CSS 样式

第一种隐藏菜单的滑动效果的 CSS 实现代码非常简单。整个菜单设置了固定的宽度和高度,并设置指定贝兹曲线的动画过渡效果。

  1. div.menu {
  2.   height: 568px; 
  3.   width: 320px;
  4.   margin-left:-190px;
  5.   opacity:0;  
  6.   position:relative;
  7.   -webkit-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  8.      -moz-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  9.       -ms-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  10.        -o-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  11.           transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  12. }

在菜单按钮被点击的时候,背景图片会轻微的移动一些,制作出一点视觉差效果。

  1. #menu-bg{
  2.   position: absolute;
  3.   left: -10px;
  4.   top: -120px;  
  5.   opacity: 0.3;
  6.   -webkit-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  7.      -moz-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  8.       -ms-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  9.        -o-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  10.           transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  11. }
  12. div.menu.animate #menu-bg{
  13.     left:-23px;
  14.   -webkit-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  15.      -moz-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  16.       -ms-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  17.        -o-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  18.           transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  19. }

菜单项使用 margin-left 值来制作动画效果,每一个菜单项都设置了不同的延迟时间,使它们有依次进入的效果。

  1. div.menu ul{margin-top:110px;position:relative;}
  2. div.menu ul li {
  3.   list-style: none;
  4.   width: 320px;
  5.   margin-top: 40px;
  6.   text-align: left;
  7.   padding-left: 100px;
  8.   font-size: 23px;
  9. }
  10. div.menu ul li a {
  11.   color:#fff;
  12.   text-decoration:none; 
  13.   letter-spacing:1px; 
  14. }
  15. div.menu.animate ul li {
  16.   margin-left:80px; 
  17.   -webkit-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  18.      -moz-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  19.       -ms-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  20.        -o-transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  21.           transition: all 800ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  22. }
  23. div.menu.animate li:nth-of-type(1){transition-delay: 0.0s;}
  24. div.menu.animate li:nth-of-type(2){transition-delay: 0.06s;}
  25. div.menu.animate li:nth-of-type(3){transition-delay: 0.12s;}
  26. div.menu.animate li:nth-of-type(4){transition-delay: 0.18s;}
  27. div.menu.animate li:nth-of-type(5){transition-delay: 0.24s;}

另外在菜单按钮被点击的时候,屏幕层 screen 被推到屏幕的右边,这个效果通过修改它的 left 属性来完成。

  1. div.screen{
  2.   width:320px;
  3.   height:560px; 
  4.   overflow:hidden;
  5.   position:absolute; 
  6.   top:0px; 
  7.   left:0px;
  8.   background:#31558a;
  9.   -webkit-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  10.      -moz-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  11.       -ms-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  12.        -o-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  13.           transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  14. }
  15. div.screen.animate{
  16.   left:254px;
  17.   -webkit-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  18.      -moz-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  19.       -ms-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  20.        -o-transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
  21.           transition: all 500ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
  22. }

其它两种效果的实现代码请参考下载文件。

CSS3 移动手机隐藏菜单 UI 界面设计

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

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

发表回复

热销模板

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

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