html5左侧弹出菜单怎样实现

html-css015

html5左侧弹出菜单怎样实现,第1张

这个可以通过绝对定位,配合left设置 或者translate去实现

left的方法:

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 left设置为0就可以了 ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

translate

比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;

然后让class为menu active的元素设置 transform:translate3d(-300px,0,0) ,在这期间可以加一个过渡transition:left 0.3s ...;

然后可以通过Jquery的toggleClass('active')来实现切换

这个过程中 需要注意 body需要overflow:hidden(不然会有滚动条,可设置overflow-x即可)

left 和 translate 最好用translate ,translate3d可以开启GPU硬件加速,性能会更好,体验会更流畅

我github有类似小组件样式

github: IFmiss

希望能解决你的问题

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>jQuery弹出侧边栏滑动菜单 - 何问起</title><base target="_blank" />

<link rel="stylesheet" href="hto/html5/19/css/reset.css">

<link rel="stylesheet" href="htcom/texiao/html5/19/css/style.css">

<script language="javascript" src="om/ziyuan/jquery/jquery-2.2.0.min.js"></script>

<script language="javascript" src="js/main.js"></script>

<!--[if IE]>

<script src="hte.com/texiao/html5/4/html5shiv.min.js"></script>>

<![endif]-->

</head>

<body>

<main>

<header>

<h1>jQuery弹出侧边栏滑动菜单 <span>A Full-Screen Pushing Navigation</span></h1>

<p>A full page menu, that replaces the current content by pushing it off the screen.</p>

<p><a href="htt.com/">首页</a><a href="hm/texiao/">特效</a><a href="httm/h/bjaf/manpingmenu.htm">原文</a>

</p>

</header>

</main>

<a href="#cd-nav">

Menu

<span></span>

<svg x="0px" y="0px" width="54px" height="54px" viewBox="0 0 54 54">

<circle fill="transparent" stroke="#656e79" stroke-width="1" cx="27" cy="27" r="25" stroke-dasharray="157 157" stroke-dashoffset="157"></circle>

</svg>

</a>

<div id="cd-nav">

<div>

<div>

<h2>导航菜单</h2>

<nav>

<ul>

</ul>

</nav>

</div>

<div>

<address>

<ul>

<li><a href="mailto:hovertree@hovertree.com">hovertree@hovertree.com</a></li>

<li>021-00000000</li>

<li>

<span>何问起</span>

<span>hovertree.com</span>

<span>keleyi菜单</span>

</li>

</ul>

</address>

</div>

</div>

</div>

</body>

</html>