twitter-bootstrap - top - 组件bootstrap




如何在Bootstrap 3中证明navbar-nav的合理性 (5)

我试图在Bootstrap 3中证明一个navbar (使导航栏内容伸展)。我添加了margin: 0 auto; max-width: 1000px; margin: 0 auto; max-width: 1000px;nav*类,并尝试将container元素添加为ul的父元素。 作为最后一次检查,我通过向navbar-justified navbar类添加navbar-justified来完成此答案中建议的内容,但这导致所有内容在左侧拼凑而navbar-justified整个导航栏。

执行nav nav-justified ul确实会使ul中心,但它不保留navbar-nav类的样式,因为它不是ul的一部分,并且当屏幕小于768px时它看起来不太好。

我如何证明Bootstrap 3 navbar合理性?

编辑:对于那些对更完整答案感兴趣的人,这里是我在制作中使用的一些代码:

// Stylesheet
.navbar-nav>li {
  float: none;
}

// Navbar
<nav class="navbar navbar-default">
  <ul class="nav nav-justified navbar-nav">
    <li><a href="/">Home</a></li>
    <li><a href="group.html">Group</a></li>
    <li><a href="services.html">Services</a></li>
    <li><a href="positions.html">Positions</a></li>
  </ul>
</nav>

这是一个有效的jsFiddle 。 您可能必须拉伸result框的大小才能正确显示。 如果你对实际列表居中感兴趣而没有导航拉伸到全宽,请参阅David Taiaroa的jsFiddle


事实证明,默认情况下,所有navbar-nav>li元素都有一个float: left属性,这就是为什么它们都向左爬行的原因。 一旦我添加了下面的代码,它就会使navbar居中并且不会被碾压。

.navbar-nav>li {
        float: none;
}

希望这可以帮助那些想要将navbar居中的人。


嗨,你可以使用下面的代码来工作合理的导航

<div class="navbar navbar-inverse">
    <ul class="navbar-nav nav nav-justified">
        <li class="active"><a href="#">Inicio</a></li>
        <li><a href="#">Item 1</a></li>
        <li><a href="#">Item 2</a></li>
        <li><a href="#">Item 3</a></li>
        <li><a href="#">Item 4</a></li>
    </ul>
 </div>

我知道这是一个老帖子,但我想分享我的解决方案。 我花了几个小时试图制作合理的导航菜单。 你真的不需要在bootstrap css中修改任何东西。 只需要在html中添加正确的类。

   <nav class="nav navbar-default navbar-fixed-top">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapsable-1" aria-expanded="false">
                <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" href="#top">Brand Name</a>
        </div>
        <div class="collapse navbar-collapse" id="collapsable-1">
            <ul class="nav nav-justified">
                <li><a href="#about-me">About Me</a></li>
                <li><a href="#skills">Skills</a></li>
                <li><a href="#projects">Projects</a></li>
                <li><a href="#contact-me">Contact Me</a></li>
            </ul>
        </div>
    </nav>

当屏幕达到768px时,此CSS代码将简单地删除navbar-brand类。

[email protected](min-width: 768px){
   .navbar-brand{
        display: none;
    }
}

要将bootstrap 3 navbar-nav justify菜单调整为100%宽度,您可以使用以下代码:

@media (min-width: 768px){
    .navbar-nav {
        margin: 0 auto;
        display: table;
        table-layout: auto;
        float: none;
        width: 100%;
    }
    .navbar-nav>li {
        display: table-cell;
        float: none;
        text-align: center;
    }
} 

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
 <div class="container">
<div class="navbar-header">
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
    <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 navbar-collapse">
  <ul class="nav navbar-nav">
    <li><a href="#">Home</a></li>
    <li><a href="#about">About</a></li>
    <li><a href="#contact">Contact</a></li>  
  </ul>
</div>

并为css

@media ( min-width: 768px ) { 
    .navbar > .container {
        text-align: center;
    }
    .navbar-header,.navbar-brand,.navbar .navbar-nav,.navbar .navbar-nav > li {
        float: none;
        display: inline-block;
    }
    .collapse.navbar-collapse {
        width: auto;
        clear: none;
    }
}

看到它直播http://www.bootply.com/103172





navbar