【发布时间】:2014-11-29 02:15:03
【问题描述】:
我想通过采用移动优先设计方法并使用 BS v 3.2 创建一个固定顶部导航栏。我也使用'less'作为预编译器。
因此,我构建了一个在 html 中看起来像这样的导航栏:
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<!-- And below is the dropdown menu toggle button which displays all elements visible in the non-collapsed version of the navbar-->
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
...
</nav>
以上操作正常。
然而,我遇到困难的是,在移动视图中,当用户单击上面的切换按钮时,我希望发生两件事:
1) 切换按钮下的下拉菜单将不再出现(我已经很容易理解这部分了)。
2) 该下拉菜单中的内容将改为显示在一个面板中,该面板从左侧滑到设备显示屏上,将所有其他内容推到右侧。这对我来说是个棘手的部分。
我怀疑重新编码 Bootstrap 的 javascript 以实现所需的行为需要付出很大的努力,因此我很好奇在面板元素上使用 collapse.js 是否可能是一个合适的替代方案?我已经想出了如何使面板水平折叠而不是垂直折叠(下面的html):
<div id="panel1" class="panel panel-default">
<div id="collapseOne" class="panel-collapse collapse width">
<div class="panel-body" style="width: 400px;">
Content
</div>
</div>
</div>
我现在卡住的地方是菜单内容显示block;即首先它将所有其他内容向下推,然后在显示屏顶部滑入/取消折叠。我希望它能够将现有内容推离屏幕的右边缘。
是否可以实现内联显示?我知道 BS 对容器 - 行 - 列特别感兴趣,我试图将两个容器并排放置以完成这项工作,但没有运气。我很可能做错了什么。
另外,如果小组不是最好的解决方案,我肯定会向其他人开放。请帮忙!!!
如果我能澄清任何事情,请告诉我。
干杯,
【问题讨论】:
-
尝试在 Google 上搜索 Bootstrap Offcanvas、Bootstrap 幻灯片菜单、Bootstrap 推送菜单。 jasny.github.io/bootstrap/examples/navmenustartbootstrap.com/templates/simple-sidebar
-
exisweb.net/… -- bootstrap 是 css 和 js,你可以添加其他的 jQuery 和 CSS。我见过一个图标栏推送菜单,但我找不到。
-
@Christina:感谢您为我指明了正确的方向。我将使用 Jasny Bootstrap (jasny.github.io/bootstrap) 和 Off Canvas javascript 组件,因为它完全符合我的要求。
标签: javascript html css twitter-bootstrap-3 less