Как отобразить навигационные вкладки на маленьком экране в виде кнопки navbar-toggle? - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть приложение, которое использует Bootstrap. В разделе Home на моей вкладке мне нужно отобразить несколько разделов. Подход к этой ситуации заключался в использовании вкладок. Кажется, что когда я изменяю размер экрана, вкладки не очень хорошо организованы на экране. Я бы хотел, чтобы они отображались в виде кнопки свертывания, такой же, как та, что у меня есть в моей панели навигации в верхней части экрана. Вот пример моего кода:

$(document).ready(function(){
	  $("#home").load("includes/home.html");
});
.navbar-brand {
    padding: 0px;
}
.navbar-brand>img {
    height: 100%;
    min-height: 45px;
    padding: 5px;
    width: auto;
}
.jumbotron {
    padding-bottom: 10px;
}
.page-footer {
    background-color: #eee; 
    border-radius: 6px;
    padding: 5px;
}
.footer-txt {
    font-size: 10px;
}
<!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>Main Page</title>
    <link rel="icon" type="image/x-icon" href="images/favicon.ico"/>
    <link rel="stylesheet" type="text/css" 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>
                <a class="navbar-brand" data-toggle="tooltip" data-placement="top" title="Main Page" href="https://www.example.com" target="_blank"><img class="img-rounded" src="images/logo.png" alt="Main"></a>
            </div>
            <div class="collapse navbar-collapse" id="navbarCollapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="/home" data-id="home" target="_blank">Home</a></li>
                    <li><a href="/about" data-id="about" target="_blank">About</a></li>
                    <li><a href="/contact" data-id="contact" target="_blank">Contact</a></li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="container">
        <div class="jumbotron">
            <h2>Main Page</h2>
        </div>
        <div id="home">
          <!-- Home Section -->
          <div class="row">
            <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
              <ul class="nav nav-tabs">
                <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 fade in active">
                  <h3>Tab 1</h3>
                    <p>Show Tab 1.</p>
                </div>
                <div id="Tab2" class="tab-pane fade">
                    <h3>Tab 2</h3>
                    <p>Show Tab 2.</p>
                </div>
                <div id="Tab3" class="tab-pane fade">
                    <h3>Tab 3</h3>
                    <p>Show Tab 3.</p>
                </div>
                <div id="Tab4" class="tab-pane fade">
                    <h3>Tab 4</h3>
                    <p>Show Tab 4.</p>
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- Home Section -->
        <div id="about"></div>
        <div id="contact"></div>
        <hr>
        <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">
                             <p class="text-center">&copy; Copyright 2018</p>
                         </div>
                         </div>
                    </div>
                </footer>
            </div>
        </div>
    </div>
    <script language="javascript" type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="crossorigin="anonymous"></script>
    <script language="javascript" type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script></script>
</body>
</html>

Домашний раздел загружается при загрузке страницы в контейнер div. Я использую JQuery для этого и просто хотел объяснить, если вам интересно, почему у меня есть контейнер div с идентификатором home. Тот же способ для около и контактных контейнеров. Кроме того, еще одна вещь, которая меня интересует, - это то, как я организовал код в разделе Home. Вы можете увидеть:

<div id="home">
   <div class="row">
      <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
               <!-- Tabs html code comes in this section. -->
      </div>
   </div>
</div>

Нужно ли помещать row и column div или я могу просто сбросить код tabs в контейнере div home? Есть ли разница? Если кто-то может дать несколько советов или решений по вышеуказанным вопросам, пожалуйста, дайте мне знать. Спасибо!

...