Css menu

Css Menu for stack overflow

HTML

<ul class="main-nav">
    <li><a href="#">About Us</a>
    <ul>
        <li>
            <a href="#">Advice & Support</a>
                <div>
                    <ul>
                        <li><a href="#">Social Workers</a></li>
                        <li><a href="#">Organisations</a></li>                            
                    </ul>              
                </div>
        </li>
        <li><a href="#">Policies & Accounts</a></li>
        <li>
            <a href="#">Current Funders</a>
            <div>
                <ul>
                    <li><a href="#">Social Workers 2</a></li>
                    <li><a href="#">Organisations 2</a></li>                            
                </ul>              
            </div>
        </li>
    </ul>
</li>
        <li><a href="#">What's On</a></li>
        <li><a href="#">Learning Disability</a></li>
</ul>

CSS

body{
    font-family:arial;
}

.main-nav{
    /* Not needed. Just to make it easier to see*/
     margin:50px;
}

/* style all a tags*/
.main-nav a{
    display:inline-block;
    text-decoration:none;
    color:#000;
}
.main-nav a:hover{
    color:#f09433;
}

/* child selector - first level*/
.main-nav > li
{
    display:inline-block;
    height:50px;
    /*ie7 fix for lack of inline-block*/
    *display:inline;
    *zoom:1;
    position:relative;
    /* These are just rough estimates*/
    font-size:20px;
    margin-right:7px;
    cursor:pointer;
}
.main-nav > li:hover{
    /* topleft topright*/
    border-radius:10px 10px 0 0;
    background-color:#fcebd9;
}

.main-nav > li > a{
    display:block;
    padding:10px;
}

/* level 2*/
.main-nav > li > ul{
    position:absolute;
    /* This could be any amount*/
    z-index:100;
    margin:0;
    padding:10px;
    top 50px;
    background-color:#fcebd9;
    border-radius: 0 10px 10px 10px;
    font-size:16px;
    display:none;
}

.main-nav > li:hover > ul{
    display:block
}

/* level 2 list items */
.main-nav > li > ul > li{
    display:block;
    white-space:nowrap;
    margin-bottom:5px;
    padding-right:32px;
}

/* div to house arrow */
.main-nav > li > ul > li > div{
    position:relative;
    vertical-align:top;
    display:inline-block;
    /*ie7 fix for lack of inline-block*/
    *display:inline;
    *zoom:1;
}

.main-nav > li > ul > li > div:before
{
    position:absolute;
    left:8px;
    /* half line-height*/
    top:0;
    /* escaped unicode triangle */
    content:"\25B6";
    color:#f09433;
}

/* level 3 */

.main-nav > li > ul > li > a{
    display:inline-block;
    vertical-align:top;
}
.main-nav > li > ul > li ul{
    position:absolute;
    left:32px;
    top:0;
    background-color:#fad7b3;
    border-radius:10px;
    padding:10px;
    display:none;
}

.main-nav > li > ul > li:hover ul{
    display:block;
}

.main-nav > li > ul > li ul li{
    margin-bottom:5px;
}