CSS3仿手机客户端展开和关闭菜单动画效果

在手机客户端上,我们常常会发现有很多这样子的效果,点击某个按钮,左边隐藏的菜单会出现,内容则被折开。类似于下面这样子。

animated-link

然后点击菜单跳转之后左边的菜单子弹自动收起来。或者再次点击上面的按钮,同样左边收起来,内容就完整显示了。

这个在web页面上也同样可以实现,而且很简单。你可以使用CSS3的动画效果来做,也可以使用JS来实现效果。本文讲的是CSS3的效果,当然完整的例子还是得用JS来实现的。

前面的文章中我们提到CSS3的动画一般可以用两种方式,一种是使用:checked,另一种是使用:target。

本例子中实现的关键代码:

.main{
position: relative;
width:100%;
background: #fff;
-webkit-transition:all .25s;
transition:all .25s;
min-height:300px;
}
#tm:checked ~ .main{-webkit-transform:translateX(150px);-ms-transform:translateX(150px);transform:translateX(150px);}


当点击按钮时.main向左移动150像素,也就是侧栏的宽度了。

演示地址

PS:这个http://code.qdkfweb.cn 是使用github页面做成的。使用github感觉有时候很坑爹啊。会出现上传错误之类的。不太想折腾的,写技术博客的更是没有这个想法。

还是自己控制博客,用熟悉的东西好点。

上面这个不够完美的,想要完美实现效果,当然是用js了。使用了zepto.js框架了,下面这个演示就是这个框架的,跟jQuery使用差不多,不过体积小多了。

演示地址

2014.4.16:功能完善,增加了当点击左边出来的时候,点击右边内容的任意区域,左边的内容都可以缩回去。

演示地址


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流