您的位置:首页 > Web前端 > CSS

web CSS实现的下拉菜单(转发)

2017-05-16 15:09 218 查看
用CSS实现下拉菜单的多种方法

作者:mdxy-dxy

横向下拉菜单

[html]

<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta http-equiv="Content-Language" content="zh-CN" />

<title>横向下拉菜单</title>

<style type="text/css">

<!--

* {margin:0;padding:0;border:0;}

body {

font-family: arial, 宋体, serif;

font-size:12px;

}

#nav {

height: 24px; list-style-type: none; padding-left:200px;

line-height:24px;overflow:hidden;background:#999;

}

#nav a {

display: block; width: 80px; text-align:center;

}

#nav a:link {

color:#EEE; text-decoration:none;

}

#nav a:visited {

color:#EEE;text-decoration:none;

}

#nav a:hover {

color:#FFF;text-decoration:none;font-weight:bold;background:#CCC;

}

#nav li {

float: left; width: 80px;

}

#nav li ul {

line-height: 24px;

list-style-type: none;

text-align:left;

left: -999px;

width: 520px; //注意,这里一定要设置宽度;

position: absolute;

background:#CCC;

}

#nav li ul li{

float: left;width: 80px; //float就是子菜单横向的关键,可以继承父菜单而省略float

}

#nav li ul a{

display: block; width: 65px;text-align:left;padding-left:15px;

}

#nav li ul a:link {

color:#F1F1F1; text-decoration:none;

}

#nav li ul a:visited {

color:#F1F1F1;text-decoration:none;

}

#nav li ul a:hover {

color:#FFF;text-decoration:none;font-weight:normal;background:#C00;

}

#nav li:hover ul {

left:25%;

}

#nav li.sfhover ul {

left:25%;

}

#content {

clear: left;

}

-->

</style>

<script type=text/javascript><!--//--><![CDATA[//><!--

function menuFix() {

var sfEls = document.getElementById("nav").getElementsByTagName("li");

for (var i=0; i<sfEls.length; i++) {

sfEls[i].onmouseover=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onMouseDown=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onMouseUp=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onmouseout=function() {

this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),

"");

}

}

}

window.onload=menuFix;

//--><!]]></script>

</head>

<body>

<ul id="nav">

<li><a href="#">菜单一</a>

<ul>

<li><a href="#">菜单一</a></li>

<li><a href="#">菜单一</a></li>

<li><a href="#">菜单一</a></li>

<li><a href="#">菜单一</a></li>

<li><a href="#">菜单一</a></li>

<li><a href="#">菜单一</a></li>

</ul>

</li>

<li><a href="#">菜单二</a>

<ul>

<li><a href="#">菜单二</a></li>

<li><a href="#">菜单二</a></li>

<li><a href="#">菜单二</a></li>

<li><a href="#">菜单二</a></li>

<li><a href="#">菜单二</a></li>

</ul>

</li>

<li><a href="#">菜单三</a>

<ul>

<li><a href="#">菜单三</a></li>

<li><a href="#">菜单三</a></li>

<li><a href="#">菜单三</a></li>

<li><a href="#">菜单三</a></li>

<li><a href="#">菜单三</a></li>

</ul>

</li>

<li><a href="#">菜单四</a>

<ul>

<li><a href="#">菜单四</a></li>

<li><a href="#">菜单四</a></li>

<li><a href="#">菜单四</a></li>

<li><a href="#">菜单四</a></li>

<li><a href="#">菜单四</a></li>

</ul>

</li>

<li><a href="#">菜单五</a>

<ul>

<li><a href="#">菜单五</a></li>

<li><a href="#">菜单五</a></li>

<li><a href="#">菜单五</a></li>

<li><a href="#">菜单五</a></li>

<li><a href="#">菜单五</a></li>

</ul>

</li>

<li><a href="#">菜单六</a>

<ul>

<li><a href="#">菜单六</a></li>

<li><a href="#">菜单六</a></li>

<li><a href="#">菜单六</a></li>

<li><a href="#">菜单六</a></li>

<li><a href="#">菜单六</a></li>

</ul>

</li>

</ul>

</div>

</body>

</html>

[/html]

CSS下拉导航菜单效果

[html]

<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>CSS下拉菜单演示</title>

<style type="text/css">

<!--

*{margin:0;padding:0;border:0;}

body {

font-family: arial, 宋体, serif;

font-size:12px;

}

#nav {

line-height: 24px; list-style-type: none; background:#666;

}

#nav a {

display: block; width: 80px; text-align:center;

}

#nav a:link {

color:#666; text-decoration:none;

}

#nav a:visited {

color:#666;text-decoration:none;

}

#nav a:hover {

color:#FFF;text-decoration:none;font-weight:bold;

}

#nav li {

float: left; width: 80px; background:#CCC;

}

#nav li a:hover{

background:#999;

}

#nav li ul {

line-height: 27px; list-style-type: none;text-align:left;

left: -999em; width: 180px; position: absolute;

}

#nav li ul li{

float: left; width: 180px;

background: #F6F6F6;

}

#nav li ul a{ wedisplay: block; width: 156px;text-align:left;padding-left:24px;

}

#nav li ul a:link {

color:#666; text-decoration:none;

}

#nav li ul a:visited {

color:#666;text-decoration:none;

}

#nav li ul a:hover {

color:#F3F3F3;text-decoration:none;font-weight:normal;

background:#C00;

}

#nav li:hover ul {

left: auto;

}

#nav li.sfhover ul {

left: auto;

}

#content {

clear: left;

}

-->

</style>

<script type=text/javascript>

<!--//--><![CDATA[//><!--

function menuFix() {

var sfEls = document.getElementById("nav").getElementsByTagName("li");

for (var i=0; i<sfEls.length; i++) {

sfEls[i].onmouseover=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onMouseDown=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onMouseUp=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

sfEls[i].onmouseout=function() {

this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),

"");

}

}

}

window.onload=menuFix;

//--><!]]>

</script>

</head>

<body>

<ul id="nav">

<li><a href="#">产品介绍</a>

<ul>

<li><a href="#">产品一</a></li>

<li><a href="#">产品一</a></li>

<li><a href="#">产品一</a></li>

<li><a href="#">产品一</a></li>

<li><a href="#">产品一</a></li>

<li><a href="#">产品一</a></li>

</ul>

</li>

<li><a href="#">服务介绍</a>

<ul>

<li><a href="#">服务二</a></li>

<li><a href="#">服务二</a></li>

<li><a href="#">服务二</a></li>

<li><a href="#">服务二服务二</a></li>

<li><a href="#">服务二服务二服务二</a></li>

<li><a href="#">服务二</a></li>

</ul>

</li>

<li><a href="#">成功案例</a>

<ul>

<li><a href="#">案例三</a></li>

<li><a href="#">案例</a></li>

<li><a href="#">案例三案例三</a></li>

<li><a href="#">案例三案例三案例三</a></li>

</ul>

</li>

<li><a href="#">关于我们</a>

<ul>

<li><a href="#">我们四</a></li>

<li><a href="#">我们四</a></li>

<li><a href="#">我们四</a></li>

<li><a href="#">我们四111</a></li>

</ul>

</li>

<li><a href="#">在线演示</a>

<ul>

<li><a href="#">演示</a></li>

<li><a href="#">演示</a></li>

<li><a href="#">演示</a></li>

<li><a href="#">演示演示演示</a></li>

<li><a href="#">演示演示演示</a></li>

<li><a href="#">演示演示</a></li>

<li><a href="#">演示演示演示</a></li>

<li><a href="#">演示演示演示演示演示</a></li>

</ul>

</li>

<li><a href="#">联系我们</a>

<ul>

<li><a href="#">联系联系联系联系联系</a></li>

<li><a href="#">联系联系联系</a></li>

<li><a href="#">联系</a></li>

<li><a href="#">联系联系</a></li>

<li><a href="#">联系联系</a></li>

<li><a href="#">联系联系联系</a></li>

<li><a href="#">联系联系联系</a></li>

</ul>

</li>

</ul>

</body>

</html>

[/html]

CSS水平下拉菜单

[html]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>CSS Menu - Horizontal</title>

<style type="text/css">

<!--

@import"dhtml-horiz.css";

-->

body {

margin: 0;

padding: 30px;

background: #FFF;

color: #666;

}

h1 {

font: bold 16px Arial, Helvetica, sans-serif;

}

p {

font: 11px Arial, Helvetica, sans-serif;

}

a {

color: #900;

text-decoration: none;

}

a:hover {

background: #900;

color: #FFF;

}

/*CSS Code for Menu Begin:*/

/* Root = Horizontal, Secondary = Vertical */

ul#navmenu {

margin: 0;

border: 0 none;

padding: 0;

width: 500px; /*For KHTML*/

list-style: none;

height: 24px;

}

ul#navmenu li {

margin: 0;

border: 0 none;

padding: 0;

float: left; /*For Gecko*/

display: inline;

list-style: none;

position: relative;

height: 24px;

}

ul#navmenu ul {

margin: 0;

border: 0 none;

padding: 0;

width: 160px;

list-style: none;

display: none;

position: absolute;

top: 24px;

left: 0;

}

ul#navmenu ul li {

float: none; /*For Gecko*/

display: block !important;

display: inline; /*For IE*/

}

/* Root Menu */

ul#navmenu a {

border: 1px solid #FFF;

border-right-color: #CCC;

border-bottom-color: #CCC;

padding: 0 6px;

float: none !important; /*For Opera*/

float: left; /*For IE*/

display: block;

background: #EEE;

color: #666;

font: bold 10px/22px Verdana, Arial, Helvetica, sans-serif;

text-decoration: none;

height: auto !important;

height: 1%; /*For IE*/

}

/* Root Menu Hover Persistence */

ul#navmenu a:hover,

ul#navmenu li:hover a,

ul#navmenu li.iehover a {

background: #CCC;

color: #FFF;

}

/* 2nd Menu */

ul#navmenu li:hover li a,

ul#navmenu li.iehover li a {

float: none;

background: #EEE;

color: #666;

}

/* 2nd Menu Hover Persistence */

ul#navmenu li:hover li a:hover,

ul#navmenu li:hover li:hover a,

ul#navmenu li.iehover li a:hover,

ul#navmenu li.iehover li.iehover a {

background: #CCC;

color: #FFF;

}

/* 3rd Menu */

ul#navmenu li:hover li:hover li a,

ul#navmenu li.iehover li.iehover li a {

background: #EEE;

color: #666;

}

/* 3rd Menu Hover Persistence */

ul#navmenu li:hover li:hover li a:hover,

ul#navmenu li:hover li:hover li:hover a,

ul#navmenu li.iehover li.iehover li a:hover,

ul#navmenu li.iehover li.iehover li.iehover a {

background: #CCC;

color: #FFF;

}

/* 4th Menu */

ul#navmenu li:hover li:hover li:hover li a,

ul#navmenu li.iehover li.iehover li.iehover li a {

background: #EEE;

color: #666;

}

/* 4th Menu Hover */

ul#navmenu li:hover li:hover li:hover li a:hover,

ul#navmenu li.iehover li.iehover li.iehover li a:hover {

background: #CCC;

color: #FFF;

}

ul#navmenu ul ul,

ul#navmenu ul ul ul {

display: none;

position: absolute;

top: 0;

left: 160px;

}

/* Do Not Move - Must Come Before display:block for Gecko */

ul#navmenu li:hover ul ul,

ul#navmenu li:hover ul ul ul,

ul#navmenu li.iehover ul ul,

ul#navmenu li.iehover ul ul ul {

display: none;

}

ul#navmenu li:hover ul,

ul#navmenu ul li:hover ul,

ul#navmenu ul ul li:hover ul,

ul#navmenu li.iehover ul,

ul#navmenu ul li.iehover ul,

ul#navmenu ul ul li.iehover ul {

display: block;

}

</style>

<script type="text/JavaScript">

navHover = function() {

var lis = document.getElementById("navmenu").getElementsByTagName("LI");

for (var i=0; i<lis.length; i++) {

lis[i].onmouseover=function() {

this.className+=" iehover";

}

lis[i].onmouseout=function() {

this.className=this.className.replace(new RegExp(" iehover\\b"), "");

}

}

}

if (window.attachEvent) window.attachEvent("onload", navHover);

</script>

</head>

<body>

<h1>CSS Menu - Horizontal</h1>

<hr />

<ul id="navmenu">

<li><a href="#">Blog</a></li>

<li><a href="#">Work +</a>

<ul>

<li><a href="#">Websites +</a>

<ul>

<li><a href="#">qrayg</a></li>

<li><a href="#">qArcade</a></li>

<li><a href="#">qLoM</a></li>

<li><a href="#">qDT</a></li>

</ul>

</li>

<li><a href="#">Pen and Ink</a></li>

<li><a href="#">Free Interfaces</a></li>

</ul>

</li>

<li><a href="#">Learn +</a>

<ul>

<li><a href="#">Fireworks +</a>

<ul>

<li><a href="#">aquaButton</a></li>

<li><a href="#">aquaButton2</a></li>

<li><a href="#">waterDrop</a></li>

<li><a href="#">lightFX</a></li>

<li><a href="#">lightFX2</a></li>

</ul>

</li>

<li><a href="#">CSS +</a>

<ul>

<li><a href="#">footerStick</a></li>

<li><a href="#">spriteNav</a></li>

<li><a href="#">@import</a></li>

</ul>

</li>

</ul>

</li>

<li><a href="#">Info</a></li>

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

</ul>

</body>

</html>

[/html]

CSS垂直下拉菜单

[html]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>CSS Menu - Vertical</title>

<style type="text/css">

body {

margin: 0;

padding: 30px;

background: #FFF;

color: #666;

}

h1 {

font: bold 16px Arial, Helvetica, sans-serif;

}

p {

font: 11px Arial, Helvetica, sans-serif;

}

a {

color: #900;

text-decoration: none;

}

a:hover {

background: #900;

color: #FFF;

}

/*CSS Code for Menu Begin:*/

/* Root = Vertical, Secondary = Vertical */

ul#navmenu,

ul#navmenu li,

ul#navmenu ul {

margin: 0;

border: 0 none;

padding: 0;

width: 160px; /*For KHTML*/

list-style: none;

}

ul#navmenu li {

display: block !important; /*For GOOD browsers*/

display: inline; /*For IE*/

position: relative;

}

/* Root Menu */

ul#navmenu a {

border: 1px solid #FFF;

border-right-color: #CCC;

border-bottom-color: #CCC;

padding: 0 6px;

display: block;

background: #EEE;

color: #666;

font: bold 10px/22px Verdana, Arial, Helvetica, sans-serif;

text-decoration: none;

height: auto !important;

height: 1%; /*For IE*/

}

/* Root Menu Hover Persistence */

ul#navmenu a:hover,

ul#navmenu li:hover a,

ul#navmenu li.iehover a {

background: #CCC;

color: #FFF;

}

/* 2nd Menu */

ul#navmenu li:hover li a,

ul#navmenu li.iehover li a {

background: #EEE;

color: #666;

}

/* 2nd Menu Hover Persistence */

ul#navmenu li:hover li a:hover,

ul#navmenu li:hover li:hover a,

ul#navmenu li.iehover li a:hover,

ul#navmenu li.iehover li.iehover a {

background: #CCC;

color: #FFF;

}

/* 3rd Menu */

ul#navmenu li:hover li:hover li a,

ul#navmenu li.iehover li.iehover li a {

background: #EEE;

color: #666;

}

/* 3rd Menu Hover Persistence */

ul#navmenu li:hover li:hover li a:hover,

ul#navmenu li:hover li:hover li:hover a,

ul#navmenu li.iehover li.iehover li a:hover,

ul#navmenu li.iehover li.iehover li.iehover a {

background: #CCC;

color: #FFF;

}

/* 4th Menu */

ul#navmenu li:hover li:hover li:hover li a,

ul#navmenu li.iehover li.iehover li.iehover li a {

background: #EEE;

color: #666;

}

/* 4th Menu Hover */

ul#navmenu li:hover li:hover li:hover li a:hover,

ul#navmenu li.iehover li.iehover li.iehover li a:hover {

background: #CCC;

color: #FFF;

}

ul#navmenu ul,

ul#navmenu ul ul,

ul#navmenu ul ul ul {

display: none;

position: absolute;

top: 0;

left: 160px;

}

/* Do Not Move - Must Come Before display:block for Gecko */

ul#navmenu li:hover ul ul,

ul#navmenu li:hover ul ul ul,

ul#navmenu li.iehover ul ul,

ul#navmenu li.iehover ul ul ul {

display: none;

}

ul#navmenu li:hover ul,

ul#navmenu ul li:hover ul,

ul#navmenu ul ul li:hover ul,

ul#navmenu li.iehover ul,

ul#navmenu ul li.iehover ul,

ul#navmenu ul ul li.iehover ul {

display: block;

}

</style>

<script type="text/javascript">

<!--

navHover = function() {

var lis = document.getElementById("navmenu").getElementsByTagName("LI");

for (var i=0; i<lis.length; i++) {

lis[i].onmouseover=function() {

this.className+=" iehover";

}

lis[i].onmouseout=function() {

this.className=this.className.replace(new RegExp(" iehover\\b"), "");

}

}

}

if (window.attachEvent) window.attachEvent("onload", navHover);

-->

</script>

</head>

<body>

<h1>CSS Menu - Vertical</h1>

<hr />

<ul id="navmenu">

<li><a href="#">Blog</a></li>

<li><a href="#">Work +</a>

<ul>

<li><a href="#">Websites +</a>

<ul>

<li><a href="#">qrayg</a></li>

<li><a href="#">qArcade</a></li>

<li><a href="#">qLoM</a></li>

<li><a href="#">qDT</a></li>

</ul>

</li>

<li><a href="#">Pen and Ink</a></li>

<li><a href="#">Free Interfaces</a></li>

</ul>

</li>

<li><a href="#">Learn +</a>

<ul>

<li><a href="#">Fireworks +</a>

<ul>

<li><a href="#">aquaButton</a></li>

<li><a href="#">aquaButton2</a></li>

<li><a href="#">waterDrop</a></li>

<li><a href="#">lightFX</a></li>

<li><a href="#">lightFX2</a></li>

</ul>

</li>

<li><a href="#">CSS +</a>

<ul>

<li><a href="#">footerStick</a></li>

<li><a href="#">spriteNav</a></li>

<li><a href="#">@import</a></li>

</ul>

</li>

</ul>

</li>

<li><a href="#">Info</a></li>

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

</ul>

</body>

</html>

[/html]

CSS实现的中英文双语导航菜单

[html]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta name="Keywords" content="bilingual menu,中英文双语菜单" />

<meta http-equiv="Description" content="完全用CSS实现的中英文双语导航菜单" />

<meta content="all" name="robots" />

<meta name="author" content="forestgan" />

<meta name="copyright" content="http://www.forest53.com" />

<title>完全用CSS实现的中英文双语导航菜单</title>

<style type="text/css">

a{

color: #FFFF99;

text-decoration: none;

}

a:hover{

color: #FFFFFF;

text-decoration: underline;

}

#nav{

padding: 10px 10px 0;

font-size: 12px;

font-weight: bold;

margin: 1em 0 0;

list-style:none;

}

#nav li{

float: left;

margin-right: 1px;

}

.bi{

position: relative;

z-index: 0;

}

.bi:hover{

z-index: 99;

}

.bi:hover span{

visibility: visible;

top: 0;

left: 0;

cursor: pointer;

}

.bi span{

position: absolute;

left: -999em;

visibility: hidden;

}

#nav li a,.bi:hover span{

line-height: 20px;

text-decoration: none;

background: #DDDDDD;

color: #666666;

display: block;

width: 80px;

text-align: center;

}

#nav li a:hover,.bi:hover span{

color: #FFFFFF;

background: #DC4E1B;

}

.bi:hover span{

padding-top: 2px;

}

#navbar{

background: #DC4E1B;

height: 8px;

overflow: hidden;

clear: both;

}

</style>

<link href="../css/main.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div id="top">

<ul id="nav">

<li><a class="bi" href="Http://www.junstudio.org/">Home<span>首 页</span></a></li>

<li><a class="bi" href="Http://www.junstudio.org/blog">Blog<span>日志</span></a></li>

<li><a class="bi" href="Http://www.junstudio.org/guestbook">guestbook<span>留言本</span></a></li>

<li><a class="bi" href="Http://www.pickbar.com/">Pickbar<span>精品吧</span></a></li>

<li><a class="bi" href="Http://www.fansir.com/">fansir<span>樊SIR</span></a></li>

</ul>

<div id="navbar"></div>

</body>

</html>

[/html]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: