【发布时间】:2017-10-23 11:34:12
【问题描述】:
我的目标:
使用 Boostrap 3,创建具有独立滚动功能的侧边栏菜单。切换按钮需要位于固定导航标题中。 Semantic UI 具有我正在寻找的确切行为。我宁愿在不使用插件的情况下这样做。
我尝试过的事情:
【问题讨论】:
我的目标:
使用 Boostrap 3,创建具有独立滚动功能的侧边栏菜单。切换按钮需要位于固定导航标题中。 Semantic UI 具有我正在寻找的确切行为。我宁愿在不使用插件的情况下这样做。
我尝试过的事情:
【问题讨论】:
您无需任何插件即可轻松实现,您可以根据需要对其进行自定义:
CSS:
body {
overflow-x: hidden;
}
.off-canvas {
width: 300px;
position: fixed;
left: 0;
top: 0;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
background-color: #333;
transform: translateX(-100%);
transition: .4s ease-in-out;
z-index: 1060;
}
.off-canvas-active .off-canvas {
transform: translateX(0);
}
.navbar-fixed-top {
transition: .4s ease-in-out;
width: 100%;
}
.page-wrapper {
padding-top: 50px;
transition: .4s ease-in-out;
}
.off-canvas-active .page-wrapper,
.off-canvas-active .navbar-fixed-top {
transform: translateX(300px);
}
.list-group {
padding: 20px;
}
.off-canvas-overlay {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, .5);
z-index: 1050;
visibility: hidden;
opacity: 0;
transition: .4s ease-in-out;
}
.off-canvas-active .off-canvas-overlay {
opacity: 1;
visibility: visible;
}
JS:
// Toggle on button click
$('.off-canvas-toggle').on('click', function(event) {
event.preventDefault();
$('body').toggleClass('off-canvas-active');
});
// Close on mouseup and touchend
$(document).on('mouseup touchend', function(event) {
var offCanvas = $('.off-canvas')
if (!offCanvas.is(event.target) && offCanvas.has(event.target).length === 0) {
$('body').removeClass('off-canvas-active')
}
});
【讨论】: