分享

4种CSS3超酷移动手机滑动隐藏侧边栏菜单特效

 delmarks 2015-03-13

这是一组共4种效果非常炫酷的CSS3移动手机滑动隐藏侧边栏菜单特效。这四种效果分别是:默认的点击滑动侧边栏菜单效果、带3D transforms的滑动侧边栏效果、文字缩放和淡入淡出效果的滑动侧边栏以及使用translate来实现滑动侧边栏的效果。

每一个滑动侧边栏效果都带有从右到左淡入淡出的滑动过渡效果。菜单栏中的菜单项以一个接一个的方式显示,这种效果是通过为它们分别添加 transition-delay 来实现的。下面来看看默认的滑动侧边栏效果的制作方法。

HTML结构

所有滑动侧边栏效果都是使用无序列表来制作的,在默认的实现中,将无序列表包装到class为mobilediv中,为了便于控制,外围还添加了一个wrapper包裹div。这个DEMO使用纯CSS制作,按钮使用的是一个checkbox输入框来制作。插件中使用了font-awesome图标字体,可以点击这里查看font-awesome图标字体的参考和使用方法

<div id="wrapper">
  <h2>Off Canvas Menu with Animated Linksh2>
  <div class="mobile">
    
    <input type="checkbox" id="tm" />
    
    <ul class="sidenav">
      <li><a href="#"><i class="fa fa-check">i><b>Tasksb>a>li>
      <li><a href="#"><i class="fa fa-inbox">i><b>Messagesb>a>li>
      <li><a href="#"><i class="fa fa-pencil">i><b>New Postb>a>li>
      <li><a href="#"><i class="fa fa-cog">i><b>Settingsb>a>li>
      <li><a href="#"><i class="fa fa-star">i><b>Starredb>a>li>
      <li><a href="#"><i class="fa fa-power-off">i><b>Logoutb>a>li>
    ul>
    
    <section>
      
      <label for="tm">Click Melabel>
    section>
  div>
div>           

CSS样式

整个包裹div被设置为相对定位,并为其设置左浮动和阴影效果。

.mobile {
  float: left; position: relative;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.5);
  overflow: hidden;
}               

这里的按钮制作使用了一个小技巧。作为按钮的checkbox被设置为隐藏状态,然后在

元素使用一个元素来和它关联,将制作为按钮样式,实际在点击时,相当于点击了checkbox按钮。

/*Hiding the checkbox*/
#tm {display: none;}
.mobile section label {
  color: white; font: bold 14px Montserrat; text-align: center;
  border: 2px solid white; border-radius: 4px;
  display: block; padding: 10px 0;
  width: 60%; position: absolute; left: 20%; top: 100px;
  cursor: pointer; text-transform: uppercase;
}                 

按钮的点击使用了checkbox hack 技术。

/*Animate content area to the right*/
#tm:checked ~ section {transform: translateX(150px);}
/*Animate links from right to left + fade in effect*/
#tm:checked ~ .sidenav b {opacity: 1; transform: translateX(0);}               

最后,为每个滑动侧边栏菜单项添加一些延迟来制作一个接一个出现的效果:

#tm:checked ~ .sidenav li:nth-child(1) b {transition-delay: 0.08s;}
#tm:checked ~ .sidenav li:nth-child(2) b {transition-delay: 0.16s;}
#tm:checked ~ .sidenav li:nth-child(3) b {transition-delay: 0.24s;}
#tm:checked ~ .sidenav li:nth-child(4) b {transition-delay: 0.32s;}
#tm:checked ~ .sidenav li:nth-child(5) b {transition-delay: 0.40s;}
#tm:checked ~ .sidenav li:nth-child(6) b {transition-delay: 0.48s;}               
在线演示:http://www./Demo/201503121509.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约