是否有一种方法可以通过使用任何bootstrap类来创建一个垂直菜单(不是下拉式菜单,而是完全分离的侧边栏垂直菜单)? 我可以使用自己的css创建一个,但只想知道是否在Bootstrap中有任何内置类可用于此,或者是否可以使用顶部栏进行任何技巧性操作来实现此目标?
是否有一种方法可以通过使用任何bootstrap类来创建一个垂直菜单(不是下拉式菜单,而是完全分离的侧边栏垂直菜单)? 我可以使用自己的css创建一个,但只想知道是否在Bootstrap中有任何内置类可用于此,或者是否可以使用顶部栏进行任何技巧性操作来实现此目标?
这个问题现在很久了。
但是如果有人在这里查看,当前版本的技巧是使用nav-stack类,就像这样:
<nav>
<ul class="nav nav-pills nav-stacked span2">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
Twiter Bootstrap 2.0中的"class nav nav-list"非常适合构建侧边栏。
您可以在http://www.w3resource.com/twitter-bootstrap/nav-tabs-and-pills-tutorial.php上查看大量文档。
通过一些CSS覆盖,我发现手风琴/折叠插件可以很好地作为侧边栏垂直菜单。这是我在白色背景上使用的一些覆盖样例。手风琴位于一个区域容器内:
.accordion-group
{
margin-bottom: 1px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
border-bottom: 1px solid #E5E5E5;
border-top: none;
border-left: none;
border-right: none;
}
.accordion-heading:hover
{
background-color: #FFFAD9;
}
响应式实用类
我能想到的最简单的方法是在设计中使用垂直左侧菜单和可折叠的顶部导航,并附加/使用Bootstrap的响应式CSS。
然后,只需将手机、平板电脑等类(适合您的需求)添加到左侧导航栏中,将桌面等类添加到顶部导航栏中。
请参见:http://twitter.github.com/bootstrap/scaffolding.html#responsive
尝试一下,希望它能够满足您的需求。
bootstrap-verticaltabs
一起使用。这将修改Bootstrap的选项卡以提供另一种垂直样式。这样,您就可以使用Bootstrap中内置的选项卡,并获得所需的垂直菜单。
app/views/layouts/application.html.erb
文件的样子:<!DOCTYPE html>
...
<body>
<!-- top navigation bar -->
<div class="navbar navbar-fixed-top">
...
</div>
<div class="container-fluid">
<!-- the navigation buttons bar on the left -->
<div class="sidebar-nav span2"> <!-- we reserve 2 spans out of 12 for this -->
<ul class="nav nav-pills nav-stacked">
<li class="<%= current_page?(root_path) ? 'active' : 'inactive' %>">
<%= link_to "Home", root_path %>
</li>
<li class="<%= current_page?(section_a_path) ? 'active' : 'inactive' %>">
<%= link_to "Section A", section_a_path %>
</li>
<li class="<%= current_page?(section_b_path) ? 'active' : 'inactive' %>">
<%= link_to "Section B", section_b_path %>
</li>
</ul>
</div>
<div class="container-fluid span10"> <!-- use the remaining 10 spans -->
<%= flash_messages %>
<%= yield :layout %> <!-- the content page sees a full 12 spans -->
</div>
</div> <!-- class="container-fluid" -->
...
</body>
</html>
application.html.erb
的角度来看,该页面具有最右侧的10个 span,但从页面的视图中,它具有完整的12个 span。app/assets/stylesheets/custom.css.scss
中指定活动和非活动按钮的颜色(在这种情况下,还定义了禁用状态的颜色):@import "bootstrap";
...
$spray: #81c9e2;
$grey_light: #dddddd;
...
.nav-pills {
.inactive > a, .inactive > a:hover {
background-color: $spray;
}
.disabled > a, .disabled > a:hover {
background-color: $grey_light;
}
}
custom.css.scss
被包含,因为在文件 app/assets/stylesheets/application.css
中有一行*= require_tree .
。