web-dev-qa-db-ja.com

中央の順序なしリストナビゲーションバー-bootstrap 3

それで、ナビゲーションバーのリストアイテムを中央に配置しようとしています。このタスクにはユーティリティ関数がないため、順序付けられていないリストを行内の列に配置する次のコードを考案しました。しかし、古い 'text-align:center'で中央揃えを試みた後でも、リストは左側に揃えられています。

<div class="navbar navbar-fixed-top ">
    <!--<a class="navbar-brand" href="#">Title</a> -->
    <div class= "row">
        <div style="border:1px solid black;text-align:center;" class="col-4 col-offset-4">
            <ul class="nav navbar-nav">
                <li class="active"><a href="/">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Projects</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </div>
    </div>
</div>
10
prufrock

私はこれを自分で理解することができました。それが最善の解決策であったかどうかわからない:

        <div class="navbar navbar-fixed-top">                
                    <div style="border:1px solid black" class="container">
            <div class="inner-nav">
                <!--<a href="#" class="navbar-brand">Title</a> -->
                <ul class="nav navbar-nav">
                    <li class="active"><a href="/" >Home</a></li>
                    <li><a href="#" >About</a></li>
                    <li><a href="#" >Projects</a></li>
                    <li><a href="#" >contact</a></li>
                </ul>
            </div>
                    </div>                
            </div>   

次に、次のスタイルをbootstrap.cssに追加しました。

/* ADDED for centering navbar items */
.navbar .inner-nav ul {
position:relative;left:50%;float:left;margin-right:0;margin-left:0;
}

/* ADDED for centering navbar items */
.navbar .inner-nav li {
position:relative;right:50%;float:left;margin:0;list-style:none
}
3
prufrock

私が取った手順:

  • リストおよびリスト要素からfloat: leftを削除します
  • リスト要素の代わりにdisplay: inlineを使用してください
  • リンクをdisplay: inline-blockに設定して、ブロックの寸法を維持する
  • ナビゲーションバーにtext-align: centerを追加するだけで、すべてを中央に配置できます
  • メディアクエリでラップして、モバイルの垂直リストが影響を受けないようにします

結果のCSSは.navbar-centeredスタイルを追加します:

@media (min-width: 768px) {
    .navbar-centered .navbar-nav {
        float: none;
        text-align: center;
    }
    .navbar-centered .navbar-nav > li {
        float: none;
    }
    .navbar-centered .nav > li {
        display: inline;
    }
    .navbar-centered .nav > li > a {
        display: inline-block;
    }
}

.navbar-centeredスタイルをnavbarに適用して使用します。

<div class="navbar navbar-default navbar-centered" role="navigation">
    ...
</div>
23
deizel

これが昨日行ったコードで、Bootstrap 3 RC1で正常に動作します。これがお役に立てば幸いです。

                <nav class="navbar navbar-fixed-top">                
                        <div class="container">                          
                            <a href="#" class="navbar-brand">Title</a>
                            <ul class="nav navbar-nav">
                                <li class="active"><a href="#" >Home</a></li>
                                <li><a href="#" >Services</a></li>
                            </ul>                                                                          
                        </div>                
                </nav>             

問題が解決しない場合はお知らせください。

編集:不要なマークアップを削除しました

2
Ishan Dhingra