【问题标题】:How to create Tabbed Panel in Bootstrap如何在 Bootstrap 中创建选项卡式面板
【发布时间】:2014-08-24 13:00:43
【问题描述】:

我需要为选项卡式面板使用哪个类?有吗?

我做了以下事情,看起来很糟糕:-(

一个选项卡式导航 + 一个面板,它们之间有 0 填充-

    <div id="dashboardheader" class="container" style="padding-top: 20px;">
        <ul class="nav  nav-tabs tab-pane">
            <li class="active"><a href="#">Dashboard</a></li>
        </ul>
    </div>

    <div id="dashboardpanel " style="padding-top: 0px">
        <div class="panel panel-primary container" style="padding-top: 30px;">
            <div class="row">
                <div class="col-md-offset-2 col-md-8 col-md-offset-2">
                    <div class="row">
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" onclick="OpenDialog()" />
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-md-offset-2 col-md-8 col-md-offset-2">
                    <div class="row">
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                        <img src="..\..\Content/Images/Dashboard/fgh.png" class="btn  btn-lg" role="button" />
                    </div>
                </div>
            </div>
        </div>
    </div>

什么是替代品?

【问题讨论】:

标签: html twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

我想你想要的只是普通的bootstrap tabs

<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
  <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
  <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
  <li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
  <li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
</ul>

<!-- Tab panes -->
<div class="tab-content">
  <div class="tab-pane active" id="home">...</div>
  <div class="tab-pane" id="profile">...</div>
  <div class="tab-pane" id="messages">...</div>
  <div class="tab-pane" id="settings">...</div>
</div>

Demo in jsFiddle

通过一点点造型,你可以让它看起来像你想要的样子:


对于 V4,您需要使用 .nav-tabs class 设置样式并调用 tab JavaScript plugin

【讨论】:

  • 这就是我所做的......它只是导航和导航选项卡而不是选项卡式面板。你检查过这个吗? wrapbootstrap.com/theme/…
  • @user3801502,看看我更新的小提琴。它与您要复制的主题非常相似。除此之外,我不确定您要做什么。
  • 如何使您使用的类 fa fa-user 工作。 @KyleMit
  • @ASEN,不确定我是否理解您的问题。你见过小提琴吗?你试过&lt;i class="fa fa-user"&gt;&lt;/i&gt;吗?
  • 哈哈,对不起,我不是故意不欣赏的……你所拥有的一切对我来说都很好,我只是无法让盒子阴影正常工作。基本上我的“选项卡窗格”框阴影一直与选定的选项卡重叠。我很难复制使用本地数据库和一些 jQuery 生成的代码。让我看看是否可以粘贴我渲染的 html 和 css 样式的图片
【解决方案2】:

这里有一些你可以添加的简单的更少,允许你在.panel .panel-heading 中包含.nav.nav-tabs

一个示例代码笔:http://codepen.io/anon/pen/utGaK

恕我直言,它看起来不像组件在没有额外样式的情况下独立使用时那样“干净”..

我也使用.nav 上的.pull-right 对.panel-title 进行了测试。虽然它有效,但我发现最好将.clearfix 添加到标题中,因为选项卡的 ATM 高 1/2 像素。解决它应该很简单。

这是我在上面示例中使用的代码。

例如:

<div class="panel panel-default">
    <div class="panel-heading">
        <!-- Nav tabs -->
        <ul class="nav nav-tabs" role="tablist">
            <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
            <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
            <li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
            <li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
        </ul>

    </div>

    <!-- Tab panes + Panel body -->
    <div class="panel-body 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 class="tab-pane" id="settings">SET</div>
    </div>
</div>

这是少:

// Need to compensatve for padding in panel-heading
// Must be a way to invert this
// variable - @panel-heading-padding.  
@panel-heading-padding-negate: -10px -15px;

.panel {
    .panel-heading {
        .nav-tabs {
            margin:@panel-heading-padding-negate;
            border-bottom-width:0;

            > li {
                > a {
                    // re-apply the original padding 
                    padding:@panel-heading-padding;
                    margin-bottom:1px;

                    border:solid 0 transparent;
                    &:hover {
                        border-color: transparent;
                    }


                }

                &.active > a {
                    &, 
                    &:hover,
                    &:focused {
                        border:solid 0 transparent;                         
                    }
                }
            }
        }
    }
}

更新

我在li 定义中添加了以下内容,并删除了&gt; li &gt; a 上的margin-right 和border-radius,这样当我将导航拉到标题右侧时,它适合并且看起来更干净。

            &:first-child > a { 
                border-top-left-radius:@panel-border-radius;
            }
            &:last-child > a {
                border-top-right-radius:@panel-border-radius;
            }

这是一个更新的代码笔:http://codepen.io/anon/pen/hJsEC

【讨论】:

    【解决方案3】:

    找到了一个基于 Andrew Scott 的 html 结构的简单样式解决方案:

    .panel-heading>.nav-tabs {
        border-bottom: none;
        margin-bottom: -10px;
    }
    

    【讨论】:

      【解决方案4】:

      有一个 Bootsnipp sn-p 可以做到这一点:http://bootsnipp.com/snippets/MaA0A

      它包含允许在面板标题中嵌入选项卡的 CSS,如下所示:

      <div class="panel with-nav-tabs panel-default">
          <div class="panel-heading">
              <ul class="nav nav-tabs">
                  <!--...-->
              </ul>
          </div>
          <div class="panel-body">
              <div class="tab-content">
                  <!--...-->
              </div>
          </div>
      </div>
      

      结果:

      【讨论】:

      • 那 300 行 Css 是非常没有吸引力的解决方案!我在来这里之前就在那里,所以我知道为什么你被否决了......对不起
      【解决方案5】:

        <ul  class="nav nav-tabs  ">
            <li class="active" > <a href="#One" data-target="#One" data-toggle="tab"> One </a>  </li>
            <li  ><a  href="#Two" data-target="#Two" data-toggle="tab"> Two </a> <li>  
          </ul> 
        <div class="tab-content clearfix">
          <div class="tab-pane fade in active" id="One">
          This is one 
          </div>
          <div class="tab-pane fade  " id="Two">
          This is Two 
          </div>
        </div> 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多