导航菜单

CSS3抽屉式滑动侧边栏菜单设计

阿里云


这是一款使用纯 CSS3 制作的抽屉式滑动侧边栏菜单设计效果。该侧边栏在鼠标滑过菜单项时,会以平滑的方式滑出相应的主菜单,就像拉开抽屉的效果,非常的时尚。

制作方法

注意这个侧边栏效果的 CSS 样式中没有使用各个浏览器厂商的前缀,所以为了能够兼容各大浏览器,要在页面中引入 prefixfree.min.js 文件。

也想出现在这里?联系我们
创客主机
  1. <script src="js/prefixfree.min.js"></script>

HTML 结构

该侧边栏菜单使用无序列表来制作,图表使用的是 font-awesome 字体图标。

  1. <ul class="drawer">
  2.   <li> <a href="#"> <i class="fa fa-info-circle"></i> <span>Home</span> </a>
  3.     <ul>
  4.       <li> <a href="#"> <i class="fa fa-question-circle"></i> <span>About</span> </a> </li>
  5.       <li> <a href="#"> <i class="fa fa-phone-square"></i> <span>Contact</span> </a> </li>
  6.     </ul>
  7.   </li>
  8. </ul>

CSS 样式

首先整个侧边栏设置为绝对定位,top 和 left 都为 0,固定在左上角位置。高度为 100%屏幕高度,宽度用 padding 来控制。font-size: 0;用于移除列表项之间的间隙。

  1. .drawer {
  2.   position: absolute;
  3.   z-index: 10;
  4.   top: 0;
  5.   left: 0;
  6.   height: 100%;
  7.   padding: .4em 0;
  8.   background: #7D294E;
  9.   color: white;
  10.   text-align: center;
  11.   font-size: 0;
  12. }

侧边栏主列表的样式如下:

  1. .drawer li {
  2.   pointer-events: none;
  3.   position: relative;
  4.   display: inline-block;
  5.   vertical-align: middle;
  6.   list-style: none;
  7.   line-height: 100%;
  8.   transform: translateZ(0);
  9.  
  10. }
  11. .drawer a {
  12.   pointer-events: auto;
  13.   position: relative;
  14.   display: block;
  15.   min-width: 5em;
  16.   margin-bottom: .4em;
  17.   padding: .4em;
  18.   line-height: 100%;
  19.   font-size: 16px;
  20.   text-decoration: none;
  21.   color: white;
  22.   transition: background 0.3s;
  23. }
  24. .drawer a:active, .drawer a:focus {
  25.   background: #B44659;
  26. }
  27. .drawer i {
  28.   display: block;
  29.   margin-bottom: .2em;
  30.   font-size: 2em;
  31. }
  32. .drawer span {
  33.   font-size: .625em;
  34.   font-family: Raleway;
  35.   text-transform: uppercase;
  36. }

抽屉式子菜单列表使用 transform: translateX(-100%);将它们隐藏,并设置平滑过渡效果。

  1. .drawer > li ul {
  2.   position: absolute;
  3.   z-index: -1;
  4.   top: 0;
  5.   left: 100%;
  6.   height: 100%;
  7.   width: auto;
  8.   white-space: nowrap;
  9.   transform: translateX(-100%);
  10.   background: #B44659;
  11.   transition: 0.5s transform;
  12. }

在鼠标滑过相应的菜单项时,使用 transform: translateX(0);将子菜单移动回屏幕中。

  1. .drawer li:hover ul {
  2.   transform: translateX(0);
  3.   background: #B44659;
  4. }

CSS3 抽屉式滑动侧边栏菜单设计

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

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

发表回复

热销模板

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

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