CSS实现手机侧滑

<!DOCTYPE html>
<html>
<head>
	<title>app-menu</title>
	<style type="text/css">
		.menu {
		    position: fixed;
		    left: 0;
		    top: 0;
		    width: 100%;
		    height: 100%;
		    overflow: hidden;
		    pointer-events: none;
		    z-index: 150;
		}
		.menu--visible {
		    pointer-events: auto;
		}
		.app-menu {
		    background-color: #fff;
		    color: #fff;
		    position: relative;
		    /*max-width: 400px;*/
		    width: 80%;
			height: 100%;
			background-color: #ddd;
		    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
		    -webkit-transform: translateX(-103%);
		            transform: translateX(-103%);
		    display: flex;
		    flex-direction: column;
		    will-change: transform;
		    z-index: 160;
		    pointer-events: auto;

		    transition: all 0.5s ease-in;
		    transition: all 0.4s ease-out;            
		}
		.menu--visible .app-menu {
		    -webkit-transform: none;
		            transform: none;
		}
		.menu:after {
		    content: '';
		    display: block;
		    position: absolute;
		    left: 0;
		    top: 0;
		    width: 100%;
		    height: 100%;
		    background: rgba(0,0,0,0.4);
		    opacity: 0;
		    will-change: opacity;
		    pointer-events: none;
		    transition: opacity 1s cubic-bezier(0,0,0.3,1);
		}
		.menu--visible.menu:after {
		    opacity: 1;
		    pointer-events: auto;
		}
		/* aux */
		body {
		  margin: 0;
		}
		.layout {
		  width: 100%;
		}
		.header {
		  background-color: #ccc;
		}
		.menu-icon {
		  background-color: #b34848;
		  width: 100px;
		  height: 100px;
		}
	</style>
</head>
<body>
<div class="menu">
    <div class="app-menu"></div>
</div>
<div class="layout">
    <div class="header">
        <div class="menu-icon"></div>
    </div>
</div>
</body>
<script src="http://webpic.my4399.com/o2o/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
	function toggleClassMenu() {  
	    if(!myMenu.classList.contains("menu--visible")) {       
	        myMenu.classList.add("menu--visible");
	    } else {
	        myMenu.classList.remove('menu--visible');       
	    }   
	}


	var myMenu = document.querySelector(".menu");
	var oppMenu = document.querySelector(".menu-icon");
	oppMenu.addEventListener("click", toggleClassMenu, false);
	myMenu.addEventListener("click", toggleClassMenu, false);
</script>
</html>


参考网站:http://www.zcfy.cc/article/smooth-as-butter-achieving-60-fps-animations-with-css3-1054.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值