我在 cmets 中描述的画布外菜单的工作演示:http://jsfiddle.net/b6nopc8e/
HTML:
<div id="site-wrapper" class="container-fluid">
<div id="menuToggle">
<btn id="menuButton" class="main-menu btn btn-transparent pull-right" data-transition="boring">
<i class="fa fa-ellipsis-v fa-3x"></i><br />
<div>menu</div><div style="display:none;">close</div></btn>
</div>
<nav id="site-menu">
<ul class="nav">
<li><a href="/">Link</a></li>
<li><a href="/">Link</a></li>
<li><a href="/">Link</a></li>
</ul>
</nav>
<div id="site-canvas">
<div id="mainbody" class="container-fluid">
<div class="col-md-12">
<h1>Hello World</h1>
</div>
</div>
</div>
</div>
CSS:
#menuButton {
width: 45px;
height: 45px;
}
/********************************
/* OFF CANVAS MENU
/*******************************/
.show-nav #site-canvas {
transform: translateX(-330px);
transform: translate3d(-330px, 0, 0);
-webkit-transform: translateX(-330px);
-webkit-transform: translate3d(-330px, 0, 0);
-ms-transform: translateX(-330px);
-ms-transform: translate3d(-330px, 0, 0);
}
.boring #site-menu {
transform: translateX(0);
transform: translate3d(0, 0, 0);
-webkit-transform: translateX(0);
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translateX(0);
-ms-transform: translate3d(0, 0, 0);
}
.boring .show-nav #site-menu {
transition: 900ms ease all;
transform: translateX(-330px);
transform: translate3d(-330px, 0, 0);
-webkit-transform: translateX(-330px);
-webkit-transform: translate3d(-330px, 0, 0);
-ms-transform: translateX(-330px);
-ms-transform: translate3d(-330px, 0, 0);
}
.boring .show-nav #site-canvas {
transform: translateX(0);
transform: translate3d(0, 0, 0);
-webkit-transform: translateX(0);
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translateX(0);
-ms-transform: translate3d(0, 0, 0);
}
/********************************
/* WIREFRAME ELEMENTS
/*******************************/
#site-wrapper {
box-sizing: border-box;
height: 100%;
width: 100%;
}
#menuToggle {
margin-right: 10px;
position: fixed;
top: 0; right: 0;
z-index: 888;
}
#site-menu {
background-color: #999;
height: 100%;
position: fixed;
top: 0; right: -330px;
width: 300px;
z-index: 777;
}
#site-menu:after { z-index: 999; }
#site-canvas {
backface-visibility: hidden;
height: 100%;
transform: translateX(0);
transform: translate3d(0, 0, 0);
width: 100%;
}
JQUERY
/********************************
/* OFF CANVAS MENU
/*******************************/
(function($){
jQuery(document).ready(function(){
var special = ['reveal', 'top', 'boring', 'perspective', 'extra-pop'];
// Toggle Nav on Click
$('.main-menu').click(function() {
var transitionClass = jQuery(this).data('transition');
if ($.inArray(transitionClass, special) > -1) {
$('body').removeClass();
$('body').addClass(transitionClass);
} else {
$('body').removeClass();
$('#site-canvas').removeClass();
$('#site-canvas').addClass(transitionClass);
}
$('#site-wrapper').toggleClass('show-nav');
$('.main-menu i').toggleClass('fa-ellipsis-v fa-ellipsis-h');
$(".main-menu div").html("menu");
$('.main-menu div').toggle();
return false;
});
});
})(jQuery);
/********************************
/* OFF CANVAS MENU HEIGHT
/*******************************/
(function($){
jQuery(document).ready(function(){
$('#site-canvas').css({'min-height':($(window).height())+'px'});
$(window).resize(function(){
$('#site-canvas').css({'min-height':($(window).height())+'px'});
});
});
})(jQuery);
一些注意事项:此菜单在右侧。但是通过更改翻译数字,您可以将其向右移动。这是一个非常快速的粗略剥离,因此代码可能有点混乱。