center unordered list navbar - bootstrap 3

前端 未结 3 629
心在旅途
心在旅途 2020-12-31 12:44

So, Im trying to center my nav-bar list items. Since there isn\'t a utility function for this task, I devised the following code that places the unordered list in a column

相关标签:
3条回答
  • 2020-12-31 13:00

    Steps I took:

    • Remove float: left from list and list elements
    • Use display: inline instead for list elements
    • Set links to display: inline-block so they keep their block dimensions
    • Simply add text-align: center to the navbar to center everything
    • Wrap in media query so vertical list on mobile is unaffected

    Resulting CSS adding a .navbar-centered style:

    @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;
        }
    }
    

    Use by applying .navbar-centered style to navbar:

    <div class="navbar navbar-default navbar-centered" role="navigation">
        ...
    </div>
    
    0 讨论(0)
  • 2020-12-31 13:08

    Here is the code I did yesterday, works fine with Bootstrap 3 RC1. Hope this will help you.

                    <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>             
    

    Let me know if problem is still there.

    Edit: Removed unnecessary markup

    0 讨论(0)
  • 2020-12-31 13:15

    I was able to figure this out on my own. Not sure if it was the best solution:

            <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>   
    

    I then added the following styles to 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
    }
    
    0 讨论(0)
提交回复
热议问题