【问题标题】:Bootstrap Navbar [duplicate]引导导航栏 [重复]
【发布时间】:2017-05-16 07:23:43
【问题描述】:

我试图将我的navbar 的内容居中,但由于某种原因text-align:center 不起作用。这是我的 HTML:

<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top">
  <!-- NAVBAR -->
  <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
      <div class="navbar-header page-scroll">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar_clps">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
      </div>
      <div class="collapse main-nav navbar-collapse" id="navbar_clps">
        <ul class="nav navbar-nav">
          <!--<li class="hidden"><a class="page-scroll" href="#page-top"></a></li>-->
          <li><a class="page-scroll color_animation" href="#about">About</a></li>
          <li><a class="page-scroll color_animation" href="#services">Services</a></li>
          <li><a class="page-scroll color_animation" href="#reservation">Reservation</a></li>
          <li><a class="page-scroll color_animation" href="#contact">Contact us</a></li>
          <li><a id="login_lnk" class="page-scroll color_animation" href="#login" data-toggle="modal">Login</a></li>
        </ul>
      </div>
      <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
  </nav>
</body>

这是 CSS:

.main-nav a {
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: block;
  text-align: center;
  padding: 2px 0;
  transition: color 0.3s ease-in-out;
}

.main-nav {
  text-align: center !important;
  /*margin:  auto 0 auto;*/
}

li {
  color: white !important;
  word-spacing: 5px !important;
}

我知道以前有人问过这个问题,我什至看了一些问题,但它们没有帮助我(正如我所说,text-align 不起作用,它不是重复的,因为那里的解决方案是 @ 987654326@).

【问题讨论】:

  • 你能提供你的工作网址吗
  • 你想让整个导航栏对齐容器的中心吗?
  • 仅供参考,您的 data-target=".navbar_clps" 引用了一个 class,它应该是和 ID,因为您有 &lt;div class="collapse main-nav navbar-collapse" id="navbar_clps"&gt;。您需要此 data-target="#navbar_clps" 才能使导航栏切换正常工作。

标签: css twitter-bootstrap navbar


【解决方案1】:

.navbar is floated left, just set it to float:none; display: inline-block; and and finally make the container text-align: center;

.main-nav a {
        font-size: 20px;
        font-weight: 700;
        text-decoration: none;
        color: #000;
        display: block;
        text-align: center;
        padding: 2px 0;
        transition: color 0.3s ease-in-out;
}

 .nav-center{
   display: inline-block;
   float: none !important;
 } 

    li{
    color: white !important;
    word-spacing: 5px !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <div class="container">
            <div class="navbar-header page-scroll">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar_clps">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>

            <div class="collapse main-nav navbar-collapse text-center navbar_clps">
                <ul class="nav navbar-nav nav-center">
<!--                    <li class="hidden"><a class="page-scroll" href="#page-top"></a></li>-->
                    <li><a class="page-scroll color_animation" href="#about">About</a></li>
                    <li><a class="page-scroll color_animation" href="#services">Services</a></li>
                    <li><a class="page-scroll color_animation" href="#reservation">Reservation</a></li>
                    <li><a class="page-scroll color_animation" href="#contact">Contact us</a></li>
                    <li><a id="login_lnk"class="page-scroll color_animation" href="#login" data-toggle="modal" >Login</a></li>
                </ul>
            </div>
            <!-- /.navbar-collapse -->
        </div>
        <!-- /.container -->
    </nav>

【讨论】:

  • 也就是说默认状态是float:left ?
  • 没错。最后一件事,当按钮折叠时,您在单击按钮时定位导航栏时出错。您需要使用 period(.) on class names and hash(#) on id's. data-target=".navbar_clps", this is a class selector and you set the navbar_clps 作为 id。我已经更改了它并将其作为类名而不是 id
  • 哦,对了,谢谢你的提示!
【解决方案2】:

您可以使用 CSS Flexbox。喜欢:

/* Use media query to only show it on tablets & desktops (to prevent menu from breaking on mobiles) */
@media screen and (min-width: 768px) {
  #navbar_clps {
    display: flex !important;
    justify-content: center;
  }
}

看看下面的sn-p(使用全屏):

.main-nav a {
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  color: #000;
  display: block;
  text-align: center;
  padding: 2px 0;
  transition: color 0.3s ease-in-out;
}

.main-nav {
  text-align: center !important;
  /*margin:  auto 0 auto;*/
}

li {
  color: white !important;
  word-spacing: 5px !important;
}

@media screen and (min-width: 768px) {
  #navbar_clps {
    display: flex !important;
    justify-content: center;
  }
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body id="page-top" data-spy="scroll" data-target=".navbar-fixed-top">
    <!-- NAVBAR -->
    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
        <div class="container">
            <div class="navbar-header page-scroll">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar_clps">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>

            <div class="collapse main-nav navbar-collapse" id="navbar_clps">
                <ul class="nav navbar-nav">
<!--                    <li class="hidden"><a class="page-scroll" href="#page-top"></a></li>-->
                    <li><a class="page-scroll color_animation" href="#about">About</a></li>
                    <li><a class="page-scroll color_animation" href="#services">Services</a></li>
                    <li><a class="page-scroll color_animation" href="#reservation">Reservation</a></li>
                    <li><a class="page-scroll color_animation" href="#contact">Contact us</a></li>
                    <li><a id="login_lnk"class="page-scroll color_animation" href="#login" data-toggle="modal" >Login</a></li>
                </ul>
            </div>
            <!-- /.navbar-collapse -->
        </div>
        <!-- /.container -->
    </nav>
</body>

希望这会有所帮助!

【讨论】:

    【解决方案3】:

    添加这个 CSS

    .navbar-nav {
      float: none !important;
      margin: 0px auto !important;
      width: 437px !important;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-25
      • 1970-01-01
      • 2017-08-20
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 2018-01-04
      • 2017-08-20
      • 2016-10-22
      相关资源
      最近更新 更多