Bootstrap Toggle图标:如何隐藏导航菜单并放入切换图标内

时间:2018-01-18 22:18:43

标签: html css

我想知道是否可以在我的导航栏中隐藏导航菜单并将它们放在切换图标内,这样当我的浏览器缩小时,用户只能从切换图标访问它们?我是CSS / Bootstrap的初学者。

这是我的HTML代码:

<div class="container">
        <div class="navbar-header">
            <!-- Hamburger Icon -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navCol">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

            <!-- Brand -->
            <a href="{% url 'homepage' %}" class="navbar-brand">-root- DOTA</a>
        </div>

        <div class="collapse navbar-collapse" id="navCol">
            <ul class="nav navbar-nav">
                <li class="divider">
                    <a href="{% url 'teams:region_list' %}" class="navbar-link">TEAMS</a>
                </li>

                <li class="divider">
                    <a href="{% url 'matches:dota_matches' %}" class="navbar-link">MATCHES</a>
                </li>
            </ul>
        </div>
    </div>

和我的CSS:

.navbar-custom .navbar-toggle{
border-color:  #041809;
}

.navbar-custom .navbar-toggle:focus, .navbar-default .navbar-toggle:hover{
background-color:#000c07;
}

.navbar-custom .navbar-toggle .icon-bar{
width: 25px;
height: 3px;
}

.navbar-custom .nav .divider{
background-color: #000c07;
}

.navbar-custom .navbar-collapse{
background-color: #000c07;
border-color: #041809;
}

1 个答案:

答案 0 :(得分:1)

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <style>
    ul, li {
      margin: 0;
      padding: 0;
      list-style-type: none;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    .clearfix:after {
      content: "";
      display: block;
      clear: both;
    }

    .wrapper {
      max-width: 1024px;
      padding: 0;
      margin: 0;
    }

    nav { background: #eee; }

    nav .wrapper { position: relative; }

    .menu li { float: left; }

    .menu li a {
      display: inline-block;
      padding: 10px 15px;
    }

    .menuToggle {
      padding: 10px 15px;
      display: none;
      cursor: pointer;
    }

    @media screen and (max-width: 600px) {

        .menu {
          display: none;
          position: absolute;
          background: #eee;
          z-index : 1;
        }

        .menu li { float: none; }

        .menuToggle { display: inline-block; }
        fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after {
            content: '';
            width: 25px;
            height: 2px;
            background: #252525;
            position: absolute;
            left: 0;
            transition: all .2s ease-out;
        }
        .fh5co-nav-toggle i {
            position: relative;
            display: inline-block;
            width: 25px;
            height: 2px;
            color: #252525;
            font: bold 14px/.4 Helvetica;
            text-transform: uppercase;
            text-indent: -55px;
            background: #252525;
            transition: all .2s ease-out;
        }
        .fh5co-nav-toggle.active i::after {
            bottom: 0;
            -webkit-transform: rotateZ(-45deg);
            -moz-transform: rotateZ(-45deg);
            -ms-transform: rotateZ(-45deg);
            -o-transform: rotateZ(-45deg);
            transform: rotateZ(-45deg);
            background: #c6872b;
        }

    }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script>
    $(function(){
      $('.menuToggle').on('click', function(){
        $('.menu').slideToggle(300, function(){
          if($(this).css('display') === 'none'){
            $(this).removeAttr('style');
          }
        });
      });
    });
  </script>
</head>
<body>

<div class="container">
    <div class="row">
        <div class="col-xs-12 col-md-12 col-sm-12">
            <nav class="navbar navbar-default">
              <div class="wrapper">
                <div class="menuToggle">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#myNavbar" aria-expanded="false">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>                        
                    </button>
                </div>
                <ul class="menu clearfix">
                  <li><a href="#">Home</a></li>
                  <li><a href="#">About</a></li>
                  <li><a href="#">Product</a></li>
                  <li><a href="#">Contact</a></li>
                  <li><a href="#">Blog</a></li>
                </ul>
              </div>
            </nav>
        </div>
    </div>
    <div class="row">
        <div class="col-xs-12 col-md-12 col-sm-12">
          <h2>Carousel Example</h2>  
          <div id="myCarousel" class="carousel slide" data-ride="carousel">
            <!-- Indicators -->
            <ol class="carousel-indicators">
              <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
              <li data-target="#myCarousel" data-slide-to="1"></li>
              <li data-target="#myCarousel" data-slide-to="2"></li>
            </ol>

            <!-- Wrapper for slides -->
            <div class="carousel-inner">
              <div class="item active">
                <img src="https://www.w3schools.com/bootstrap/la.jpg" alt="Los Angeles" style="width:100%;">
              </div>

              <div class="item">
                <img src="https://www.w3schools.com/bootstrap/chicago.jpg" alt="Chicago" style="width:100%;">
              </div>

              <div class="item">
                <img src="https://www.w3schools.com/bootstrap/ny.jpg" alt="New york" style="width:100%;">
              </div>
            </div>

            <!-- Left and right controls -->
            <a class="left carousel-control" href="#myCarousel" data-slide="prev">
              <span class="glyphicon glyphicon-chevron-left"></span>
              <span class="sr-only">Previous</span>
            </a>
            <a class="right carousel-control" href="#myCarousel" data-slide="next">
              <span class="glyphicon glyphicon-chevron-right"></span>
              <span class="sr-only">Next</span>
            </a>
          </div>
      </div>
    </div>
</div>

</body>
</html>