Twitter bootstrap 引导3中的堆叠选项卡

Twitter bootstrap 引导3中的堆叠选项卡,twitter-bootstrap,tabs,twitter-bootstrap-3,Twitter Bootstrap,Tabs,Twitter Bootstrap 3,我试图使用Bootstrap3中的TabjQuery插件实现左对齐的堆叠选项卡,其中选项卡垂直呈现在选项卡内容的左侧,而不是顶部。当我尝试以下方法时 <ul class="nav nav-tabs nav-stacked"> <li><a href="#tab1" data-toggle="tab">Tab 1</a></li> <li><a href="#tab2" data-t

我试图使用Bootstrap3中的TabjQuery插件实现左对齐的堆叠选项卡,其中选项卡垂直呈现在选项卡内容的左侧,而不是顶部。当我尝试以下方法时

   <ul class="nav nav-tabs nav-stacked">
        <li><a href="#tab1" data-toggle="tab">Tab 1</a></li>
        <li><a href="#tab2" data-toggle="tab">Tab 2</a></li>
        <li><a href="#tab3" data-toggle="tab">Tab 3</a></li>
    </ul>


    <div class="tab-content">
        <div class="tab-pane fade" id="tab1">
            Tab 1 content
        </div>
        <div class="tab-pane fade" id="tab2">
            Tab 2 content              
        </div>
        <div class="tab-pane fade" id="tab3">
            Tab 3 content
        </div>
    </div>
表1内容 表2内容 表3内容
选项卡堆叠在彼此的顶部,但在向左旋转时不会正确渲染,而是水平选项卡彼此堆叠在一起。选项卡内容在内容div中正确显示/隐藏


这是在Bootstrap 2.x中使用tab lefttab right类来处理的,但是在Bootstrap 3中这是不推荐的,并且似乎没有被任何东西取代。有人知道Bootstrap 3 tab插件中是否可以正确呈现左右选项卡吗?

从Bootstrap 3中删除了左、右和下选项卡,但您可以添加自定义CSS来实现这一点

.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
  border-bottom: 0;
}

.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
}

.tab-content > .active,
.pill-content > .active {
  display: block;
}

.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}

.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}

.tabs-below > .nav-tabs > li > a {
  -webkit-border-radius: 0 0 4px 4px;
     -moz-border-radius: 0 0 4px 4px;
          border-radius: 0 0 4px 4px;
}

.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-top-color: #ddd;
  border-bottom-color: transparent;
}

.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}

.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}

.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  min-width: 74px;
  margin-right: 0;
  margin-bottom: 3px;
}

.tabs-left > .nav-tabs {
  float: left;
  margin-right: 19px;
  border-right: 1px solid #ddd;
}

.tabs-left > .nav-tabs > li > a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
     -moz-border-radius: 4px 0 0 4px;
          border-radius: 4px 0 0 4px;
}

.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}

.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  *border-right-color: #ffffff;
}

.tabs-right > .nav-tabs {
  float: right;
  margin-left: 19px;
  border-left: 1px solid #ddd;
}

.tabs-right > .nav-tabs > li > a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
     -moz-border-radius: 0 4px 4px 0;
          border-radius: 0 4px 4px 0;
}

.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}

.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
  *border-left-color: #ffffff;
}
工作示例:

更新

如果您不需要选项卡的精确外观(在每个选项卡激活时在左侧或右侧适当加上边框),您可以简单地使用
nav stacked
,以及引导
col-*
将选项卡向左或向右浮动

导航堆叠
演示:


引导团队似乎已将其删除。请参见此处:@Skelly的回答涉及定制css,我不想这样做,所以我使用了网格系统和导航系统。它工作得很好,看起来很棒。代码如下所示:

<div class="row">

  <!-- Navigation Buttons -->
  <div class="col-md-3">
    <ul class="nav nav-pills nav-stacked" id="myTabs">
      <li class="active"><a href="#home" data-toggle="pill">Home</a></li>
      <li><a href="#profile" data-toggle="pill">Profile</a></li>
      <li><a href="#messages" data-toggle="pill">Messages</a></li>
    </ul>
  </div>

  <!-- Content -->
  <div class="col-md-9">
    <div class="tab-content">
      <div class="tab-pane active" id="home">Home</div>
      <div class="tab-pane" id="profile">Profile</div>
      <div class="tab-pane" id="messages">Messages</div>
    </div>
  </div>

</div>

家 轮廓 信息
您可以在此处看到这一点:

[更新]
@SeanK提供了不必通过Javascript启用导航丸的选项,而是使用
data toggle=“pill”
。在这里查看:。谢谢Sean。

要获得对Bootstrap 3的左右制表符(现在也有横向制表符)支持,可以使用Bootstrap垂直制表符组件


您不需要将此项重新添加。这是故意删除的。文档有所更改,必要的CSS类(“nav stacked”)仅在pills组件下提及,但也适用于选项卡

本教程介绍如何正确使用Bootstrap 3设置来创建垂直选项卡:

这完美地解决了这个问题。仍然想知道为什么他们会从Bootstrap3中删除它。为什么会删除它?o、 OYes,.nav单独是堆叠的,但是当它被选中/激活时,它看起来不像一个选项卡(适当的左、右边框)。这就是选项卡的用途。您不需要将其重新添加到中。这是故意删除的。请参阅正式的引导文档,了解您现在应该如何在JavaScript/Tabs下处理此问题。另请参阅本教程,了解如何正确使用Bootstrap3设置来执行垂直选项卡。对于简单的文本内容,两种解决方案都可以。如果有人面临我所说的问题:@dbtek的解决方案效果最好:我只需要包含CSS文件。。。谢谢@dbtek!您不需要包含javascript。如果将数据toggle=“pill”添加到每个a标记,则它将使用引导自动工作。你可以在这里看到:谢谢@SeanK。这很好,我希望没有自定义CSS,但是@Skelly的标签看起来更“连续”,活动标签和内容之间的关系也更“连续”。如果能在这里以某种方式实现同样的目标,那就太好了,但我不知道该怎么做。为了简单起见,我制作了一个fork,缩小了一个示例的范围:另一方面,我加入了一些彩色内容,这似乎比公认的方法处理得更好。请参阅,您可以单独使用
.nav
类,然后使用网格设置nav和内容的宽度。不需要“堆叠导航”,因为默认情况下,
.nav
是堆叠的。他们现在已将其完全移除。有关程序,请参见上面的链接。非常感谢。您链接到的文章提供了实用的示例和大量解释。这正是我一直在寻找的。不管它值多少钱,这只适合导航药片。导航选项卡将堆叠,但样式看起来像顶部的水平选项卡。由于OP特别询问导航标签,我认为这不是一个可以接受的答案。URL不再有效!这个答案就变得毫无意义了!
<div class="row">

  <!-- Navigation Buttons -->
  <div class="col-md-3">
    <ul class="nav nav-pills nav-stacked" id="myTabs">
      <li class="active"><a href="#home" data-toggle="pill">Home</a></li>
      <li><a href="#profile" data-toggle="pill">Profile</a></li>
      <li><a href="#messages" data-toggle="pill">Messages</a></li>
    </ul>
  </div>

  <!-- Content -->
  <div class="col-md-9">
    <div class="tab-content">
      <div class="tab-pane active" id="home">Home</div>
      <div class="tab-pane" id="profile">Profile</div>
      <div class="tab-pane" id="messages">Messages</div>
    </div>
  </div>

</div>