CSS3 Ribbon Menu

Look rad.

by James Ball

HTML

<div id='container'>
    <div class='ribbon'>
        <a href='#'><span>MediaSite</span></a>
        <a href='#'><span>Reviews</span></a>
        <a href='#'><span>Features</span></a>
        <a href='#'><span>Partners</span></a>
    </div>
</div>

CSS

body{
    background:#333333;
}

#container{
    position:fixed;
    top:10px;
    left:200px;
}

.ribbon:after, .ribbon:before {
    margin-top:0.5em;
    content: "";
    float:left;
    border:1.5em solid #eeeeee;
}

.ribbon:after {
    border-right-color:transparent;
}

.ribbon:before {
    border-left-color:transparent;
}

.ribbon a:link, .ribbon a:visited { 
    color:#333333;
    text-decoration:none;
    float:left;
    height:3.5em;
    overflow:hidden;
}


.ribbon span {
    background:#eeeeee;
    display:inline-block;
    line-height:3em;
    padding:0 1em;
    margin-top:0.5em;
    position:relative;

    -webkit-transition: background-color 0.2s, margin-top 0.2s;
    -moz-transition: background-color 0.2s, margin-top 0.2s;
    -ms-transition: background-color 0.2s, margin-top 0.2s;
    -o-transition: background-color 0.2s, margin-top 0.2s;
    transition: background-color 0.2s, margin-top 0.2s;
}

.ribbon a:hover span {
    background:#FF7F50;
    margin-top:0;
}

.ribbon span:before {
    content: "";
    position:absolute;
    top:3em;
    left:0;
    border-right:0.5em solid #51909B;
    border-bottom:0.5em solid #eeeeee;
}

.ribbon span:after {
    content: "";
    position:absolute;
    top:3em;
    right:0;
    border-left:0.5em solid #51909B;
    border-bottom:0.5em solid #eeeeee;
}