jQuery/CSS3飘带式下拉菜单

本文作者html5tricks,转载请注明出处

今天我们再来介绍一款jQuery下拉菜单,这款jQuery下拉菜单应用了一些CSS3相关的属性,但并不复杂,也没有绚丽的动画,但是非常实用。这款jQuery菜单的另一个特点是菜单整体呈飘带状,样式非常新颖。鼠标滑过菜单项时即可展开下拉菜单。

jquery-css3-ribbon-menu

下面一起来看看这款菜单的实现过程和源代码,代码主要由HTML、CSS和jQuery组成。

HTML代码:

<div id="menu-holder">
       <div>
<ul class="menu">
<li><a href="http://www.flashuser.net">Home</a></li>
<li><a href="#">Dropdown</a>
<ul>
<li><a href="http://www.flashuser.net/category/css">CSS</a></li>
<li><a href="http://www.flashuser.net/category/tutorials">Tutorials</a></li>
<li><a href="http://www.flashuser.net/category/photoshop">Photoshop</a></li>
</ul>
</li>
<li><a href="#">Categories</a>
<ul>
<li><a href="http://www.flashuser.net/category/freebies">Freebies</a></li>
<li><a href="http://www.flashuser.net/category/photography">Photography</a></li>
<li><a href="http://www.flashuser.net/category/web-design">Web Design</a></li>
<li><a href="http://www.flashuser.net/category/wordpress">Wordpress</a></li>
<li><a href="http://www.flashuser.net/category/inspiration">Inspiration</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
</div>
  <div id="corner-left">Corner left</div>
  <div id="corner-right">Corner right</div>

<div class="content">

</div>

</div>

HTML结构比较简单,也是经典的ul li结构。注意末尾的两个div,corner left和corner right,是两侧的飘带结构。

CSS代码:

#menu-holder{margin:20px auto;width: 700px;height:61px;}

.menu {margin:0 auto;
padding:0;
width:700px;
height: 61px;	
background: #656d80;
background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #656d80),color-stop(0.6, #8690a9));
background: -moz-linear-gradient(center bottom,#656d80 0%, #8690a9 60%);
filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#8690a9', endColorstr='#656d80');
}
.menu li {background: url("../images/menu-separator.gif") no-repeat scroll right center transparent;padding: 0px 2px 0px 0px; float: left; position: relative; text-transform:uppercase;font-family: 'Oswald', sans-serif;font-size:18px;}
.menu li a {padding:21px 25px 22px 25px;color: #ffffff;display:block;text-shadow: 0px 1px 0px #000000;}
.menu li:hover > a {color:#ffffff;
background:#56596a;
background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #56596a),color-stop(0.6, #686c80));
background: -moz-linear-gradient(center bottom,#56596a 0%, #686c80 60%);
filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#686c80', endColorstr='#56596a');
}
/* drop down sub-menu */
.menu ul { background: #56596a;
display: none;
margin: 0;
padding: 0;
width: 190px;
position: absolute;
top: 61px;
left: -1px;
}
.menu li:hover > ul {display: block;}
.menu ul li {display:block;
float: none;
margin: 0px 0px 0px 15px;
padding:2px 0px;
background:url("../images/submenu-sep.gif") no-repeat scroll left bottom transparent;
}
/* sub menu hover link */
.menu ul li:hover a, .menu li:hover li a {
	background: none;
	color: #ffffff;
}
.menu ul a {
display:block;height:auto;
	font-size: 14px;
	padding:15px 0px 15px 10px;
}
.menu ul a:hover, .menu ul li:hover > a{
	background: #56596a !important;
	/* fix IE */
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#56596a', endColorstr='#56596a'); 
	background: -webkit-gradient(linear, left top, left bottom, from(#56596a), to(#56596a)) !important;
	background: -moz-linear-gradient(top,  #56596a,  #56596a) !important;
	color: #e0e0e0 !important;
}

#corner-left{position:absolute;background:url("../images/corner-left.png") no-repeat 0 0;top:19px;left:-83px;width:94px;height:60px;text-indent:-9999px;z-index:-2;}
#corner-right{position:absolute;background:url("../images/corner-right.png") no-repeat 0 0;top:19px;right:-83px;width:94px;height:60px;text-indent:-9999px;z-index:-2;}

jQuery代码:

if (jQuery().superfish) {
		jQuery('ul.menu').superfish({
			delay: 230,
			animation: {opacity:'show', height:'show'},
			speed: 'fast',
			autoArrows: false,
			dropShadows: false
		}); 

	}	

	});

这里用到了superfish脚本库,所以页面上不仅要引用jQuery库,也要引用superfish库:

<script type="text/javascript" src="js/jquery.js"></script>
<script src="js/superfish.js" type="text/javascript"></script>

所有的脚本代码可以在源代码中看到,大家可以自行下载。

在线演示源码下载

热门推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>