CSS3 and jQuery menu

A simple navigation menu built with CSS3 and the jQuery UI.

The css with some custom fonts via Google font API


@import url(http://fonts.googleapis.com/css?family=Lobster);
body {margin:0; padding:0; background:#ddd;}
#nav{position:relative; margin:40px; background:#eee; padding:0; font-family:'Lobster', Arial, Helvetica, sans-serif; font-size:21px; -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; -moz-box-shadow:2px 2px 3px #ccc; -webkit-box-shadow:2px 2px 3px #ccc; box-shadow:2px 2px 3px #ccc;}
#nav .clear{clear:both;}
#nav ul{padding:0 0 0 5px; margin:0; list-style:none;}
#nav li{float:left; margin:5px 10px 5px 0; background:#eee; -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;}
#nav li a{text-decoration:none; color:#9e0039; display:block; padding:10px 15px;}

Load the jquery library and UI straight from Google

The jQuery code

$nav_li=$("#nav li");
$nav_li_a=$("#nav li a");
var animSpeed=450; //fade speed
var hoverTextColor="#fff"; //text color on mouse over
var hoverBackgroundColor="#9e0039"; //background color on mouse over
var textColor=$nav_li_a.css("color");
var backgroundColor=$nav_li.css("background-color");
//text color animation
$nav_li_a.hover(function() {
var $this=$(this);
$this.stop().animate({ color: hoverTextColor }, animSpeed);
},function() {
var $this=$(this);
$this.stop().animate({ color: textColor }, animSpeed);
//background color animation
$nav_li.hover(function() {
var $this=$(this);
$this.stop().animate({ backgroundColor: hoverBackgroundColor }, animSpeed);
},function() {
var $this=$(this);
$this.stop().animate({ backgroundColor: backgroundColor }, animSpeed);

The markup

To add support for rounded corners in IE we can use DD_roundies script by Drew Diller. Add the following code inside the head tags.

DD_roundies.addRule("#nav", "5px");
DD_roundies.addRule("#nav li", "5px");

Dowload: http://www.htmldrive.net/items/download/659

Leave a comment