2

Bootstrap を使用して、navbar li を navbar の中央に配置するのに非常に苦労しました。this onethis onethis oneなどの同様の質問からの情報を使用してみました。私のナビゲーションは丸薬やタブを使用していませんが、それに応じてコードを編集できることを望んでいました。 私のサイトではスティッキー ナビゲーションを使用していますが、これはおそらく私のページで最も複雑なことです。アップロードしたのと同じコードを使用して JSFiddle を作成しましたが、何らかの理由で JSFiddle コードがすべてを適切に整列させますが、私のページでは、すべてのリンクが右に 10 ピクセル程度オフセットされています。すべてのマージンとパディングも 0 に設定しようとしましたが、まだ運がありません。

誰か私を助けてくれませんか、これは私を悩ませています。私はコンピューターを屋根から放り投げようとしています! 私の問題を解決できるなら、クッキーを焼いてあげましょう。

ありがとう、

ブライアン

PSすべてのリンクを申し訳ありません:-/

これが私のJSFiddleです

ここに私のHTMLがあります:

<div id="nav-wrapper">
<div id="nav" class="navbar navbar-inverse affix-top center" data-spy="affix">
  <div class="navbar-inner pull-center" data-spy="affix-top">
    <div class="container">

      <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>

      <!-- Everything you want hidden at 940px or less, place within here -->
      <div class="nav-collapse collapse">
        <ul class="nav">
            <li><a href="#home">Home</a></li>
            <li><a href="#service-top">Services</a></li>
            <li><a href="#contact">Contact</a></li>
        </ul><!--/.nav-->
      </div><!--/.nav-collapse collapse pull-right-->
    </div><!--/.container-->
  </div><!--/.navbar-inner-->
</div><!--/#nav /.navbar navbar-inverse-->
</div><!--/#nav-wrapper-->

これが私のCSSの混乱です:

.navbar {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    padding:0;
    z-index:999;
    margin-bottom:0;
}
.navbar.navbar-inverse .navbar-inner {
    background: #390 url(../img/green-bg.png) repeat;
    border:none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    margin-bottom:0;
}
.navbar .nav, .navbar .nav > li {
    display:inline-block;
    *display:inline; /* ie7 fix */
    *zoom:1; /* hasLayout ie7 trigger */
    vertical-align: top;
    padding:0 10px;
    margin:0 auto;
}
.navbar .nav > li a {
    color:white;
    background:rgba(0, 0, 0, 0.2);
    text-shadow:none;
    font-size:1.5em;
    font-family: marvel, serif;
    padding:.5em 1em;
    margin:.5em 1em;
    min-width:90px;
}
.navbar .nav > .active a:hover, .navbar .nav > li a:hover, .navbar .nav > .active a {
    color:#FFF;
    background: #390 url(../img/green-bg.png) repeat;
    text-shadow:none;
    font-size:1.5em;
    font-family: marvel, serif;
    padding:.5em 1em;
    margin:.5em 1em;
    -webkit-box-shadow: inset 0 0 10px #000;
    -moz-box-shadow: inset 0 0 10px #000;
    box-shadow: inset 0 0 10px #000;
}
.navbar .nav > li {
    padding:1em;
    margin:0;
    width:10em;
}
#nav.affix, #nav.affix-bottom {
    position: fixed;
    top: 0;
    width: 100%;
    -webkit-box-shadow: 0px 2px 4px #000;
    -moz-box-shadow: 0px 2px 4px #000;
    box-shadow: 0px 2px 4px #000;
}
#nav {
    position:relative;
    z-index:999;
    -webkit-perspective: 1000;
    -webkit-backface-visibility: hidden;
}
.center.navbar .nav, .center.navbar .nav > li {
    float:none;
    display:inline-block;
    *display:inline; /* ie7 fix */
    *zoom:1; /* hasLayout ie7 trigger */
    vertical-align: top;
}
.center .navbar-inner {
    text-align:center;
}
4

3 に答える 3

1

変更してみてください

.navbar .nav, .navbar .nav > li {
    float:center;
    ...

.navbar .nav, .navbar .nav > li {
    text-align:center;
    ...

私の知る限り、フロートセンターのようなものはありません。左、右、なし、継承のみ。

于 2013-02-15T05:03:03.023 に答える
1

.navbar .nav > .active a:hover, .navbar .nav > li a:hover, .navbar .nav > .active a両方とも.navbar .nav > li aの規則がありmargin: 0.5em 1em;ます。に変更しmargin: 0.5em 0;ます。

.navbar .nav, .navbar .nav > liのルールがありfloat: center;ます。それを除く。

次のルールを追加します。

.navbar .nav {
    float: none;
}
于 2013-02-15T05:17:48.987 に答える
0

このクラスを nav の後に ul に追加してみてください

.nav-center {
    float: none;
}

これは、bootstrap.css に由来する float: left をオーバーライドします。

于 2013-02-15T05:13:28.773 に答える