【问题标题】:How to show bootstrap nav-tabs as a collapsible button on the small screens?如何在小屏幕上将引导导航选项卡显示为可折叠按钮?
【发布时间】:2018-12-19 13:49:09
【问题描述】:

我正在构建应在所有设备上响应的单页应用程序。到目前为止一切正常,但有一件事引起了我的注意。当lgmd 屏幕大小时,主屏幕上的选项卡水平显示。如果我在浏览器中打开Responsive Design Mode,它们会垂直显示。该演示文稿在屏幕上占用了大量空间。我想知道它们是否可以显示为用户可以单击并选择选项卡的可折叠按钮?这将节省屏幕上的一些空间,并且肯定看起来更好。这是我到目前为止的示例:

.navbar-brand {
    padding: 0px;
}
.navbar-brand>img {
    height: 100%;
    min-height: 45px;
    padding: 5px;
    width: auto;
}
.brand2 {
    height: 100%;
    height: 50px;
    padding: 5px;
    margin-left: 5px;
    width: auto;
    display: block;
}
.my-jumbotron {
    padding-top: 45px;
    padding-bottom: 10px;
    margin-bottom: 5px;
    background-color: #333;
    color: #fff; 
}
.page-footer {
    margin-bottom: 5px;
    background-color: #333; 
    border-radius: 6px;
    padding: 5px;
    color: #fff;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Single Page Application</title>
  <link rel="icon" type="image/x-icon" href="images/favicon.ico" />
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>
  <nav id="myNavbar" class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbarCollapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
        <div class="row">
          <div class="col-xs-4 col-sm-6">
            <a class="navbar-brand" data-toggle="tooltip" data-placement="top" title="MyApp home page" href="https://www.example.com" target="_blank"><img class="img-rounded" src="images/logo.png" alt="MyApp" /></a>
          </div>
          <div class="col-xs-4 col-md-6">
            <img class="img-rounded brand2" src="images/app.jpg" alt="Img" />
          </div>
        </div>
      </div>
      <div class="collapse navbar-collapse" id="navbarCollapse">
        <ul class="nav navbar-nav" id="nav_menu">
          <li><a href="#" data-id="home">Home</a></li>
          <li><a href="#" data-id="contact">Contact</a></li>
          <li><a href="#" data-id="help">Help</a></li>
        </ul>
      </div>
    </div>
  </nav>
  <div class="container">
    <div class="jumbotron my-jumbotron">
      <h2>Single Page Application</h2>
    </div>
    <div id="main_container">
      <ul class="nav nav-tabs nav-justified">
        <li class="active"><a data-toggle="tab" href="#tab1">Tab 1</a></li>
        <li><a data-toggle="tab" href="#tab2">Tab 2</a></li>
        <li><a data-toggle="tab" href="#tab3">Tab 3</a></li>
        <li><a data-toggle="tab" href="#tab4">Tab 4</a></li>
      </ul>
      <div class="tab-content">
        
        <div id="tab1" class="tab-pane my-tab-pane fade in active">
          <h3>Tab 1</h3>
          <p>Show tab 1.</p>
        </div>
        
        <div id="tab2" class="tab-pane my-tab-pane fade">
          <h3>Tab 2</h3>
          <p>Show tab 2.</p>
        </div>
        
        <div id="tab3" class="tab-pane my-tab-pane fade">
          <h3>Tab 3</h3>
          <p>Show tab 3.</p>
        </div>
        
        <div id="tab4" class="tab-pane my-tab-pane fade">
          <h3>Tab 4</h3>
          <p>Show tab 4.</p>
        </div>  
      </div>
      <div class="row">
        <div class="col-sm-12">
          <footer class="page-footer">
            <div class="container-fluid">
              <div class="row">
                <div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
                  <a href="http://example1.com" data-toggle="tooltip" data-placement="top" title="example1.com">Example1.com</a>
                </div>
                <div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
                  <a href="http://example2.com/" data-toggle="tooltip" data-placement="top" title="example2.com">Example2.com</a>
                </div>
                <div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
                  <a href="http://example3.com/" data-toggle="tooltip" data-placement="top" title="example3.com">Example3.com</a>
                </div>
                <div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
                  <a href="http://example4.com/" data-toggle="tooltip" data-placement="top" title="example4.com">Example4.com</a>
                </div>
              </div>
            </div>
          </footer>
        </div>
      </div>
    </div>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>

</html>

如果您查看上面的示例,您会看到标签相互重叠。如果您看一下右上角,您会看到可以单击的按钮。然后你会得到菜单中的项目列表HomeContactHelp。我想在小屏幕上的标签有类似的东西。如果有人知道实现这一目标的好方法,请告诉我。

【问题讨论】:

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


    【解决方案1】:

    希望这会有所帮助。我只是用你的导航标签做了一个小提琴

    https://jsfiddle.net/nk7wp0m8/4/

    @media only screen and (max-width:800px) {
      .nav-tabs.nav-justified>li {
        float: left;
        width: 25%;
      }
    }
    

    如果您要确定页面开始堆叠的宽度,那么您可以使用上述媒体查询并强制它们全部并排显示。

    编辑

    https://jsfiddle.net/7cL126q9/

    这个小提琴为您提供了一个显示,例如您的家庭导航、联系人等。

    【讨论】:

    • 我检查了你的例子,似乎你水平组织了它们。我想知道它们是否可以是可折叠按钮而不是小屏幕上的水平显示?
    • 所以你的意思几乎就像引导折叠类型的显示。您可能只想首先使用它,而不必自己尝试重新设计这一切 - getbootstrap.com/docs/4.0/components/collapse
    • 您是否检查了我示例标题中的按钮?如果单击该按钮,您将看到主页、联系方式和帮助选项。就像我想在小屏幕上显示标签一样。
    • 检查上面的编辑内容是否更符合您的要求
    猜你喜欢
    • 2017-12-21
    • 1970-01-01
    • 2020-12-01
    • 2014-07-27
    • 1970-01-01
    • 2015-07-19
    • 2019-02-20
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多