HTML & CSS - Creating a fixed horizontal navigation menu

Learn how to make your navigation menu stick to the top of the page as you scroll down

by Laurie

HTML

<div id="navContainer">
    <div class="expand">
        <ul>
            <li><a>-</a>
            </li>
        </ul>
    </div>
    <div class="nav">
        <ul>
            <li><a href="#home">Home</a>

            </li>
            <li><a href="#news">News</a>

            </li>
            <li><a href="#contact">Contact</a>

            </li>
            <li><a href="#about">About</a>

            </li>
        </ul>
    </div>
</div>

CSS

#navContainer {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background-color: #98bf21;
}
#navContainer .expand {
    float:left;
    cursor:pointer;
}
#navContainer ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: inline-block;
    background-color: #98bf21;
    
}
#navContainer ul li {
    display: inline-block;
}
#navContainer ul li:hover, #nav ul li:active {
    background-color: #7A991A;
}
#navContainer ul li a, #nav ul li a:visited {
    color: #FFFFFF;
    font-weight:bold;
    display: block;
    padding: 5px 30px 5px 30px;
    text-decoration: none;
    text-transform: uppercase;
}

JavaScript

$('.expand a').click(function () {
    $('.nav').toggle(1000);
});