由CSS来创建 下拉菜单

现在有各种各样的工具来帮助生成漂亮的下拉菜单,  本文使用HTML 和简单的CSS,来创建一个简单的竖直的下拉菜单。

首先:创建菜单

我们先由如下的html来创建一个无顺序的list

<ul> 
    <li><a href="#">Home</a></li> 
    <li><a href="#">About</a> 
      <ul> 
        <li><a href="#">History</a></li> 
        <li><a href="#">Team</a></li> 
        <li><a href="#">Offices</a></li> 
      </ul> 
    </li> 
    <li><a href="#">Class</a> 
      <ul> 
        <li><a href="#">English</a></li> 
        <li><a href="#">Internet 
            Marketing</a></li> 
        <li><a href="#">Math</a></li> 
        <li><a href="#">Programming</a></li> 
      </ul> 
    </li>
    <li><a href="#">Contact Us</a> 
      <ul> 
        <li><a href="#">EMail</a></li> 
        <li><a href="#">Phone</a></li> 
        <li><a href="#">Post</a></li> 
      </ul> 
    </li> 
  </ul>

来浏览一下,如下,这样可以很方便的进行修改。


美化

1.去除缩进和前面的点

ul {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 150px;
	}

如下

2. 确定位置

ul li {
	position: relative;
	}
li ul {
	position: absolute;
	left: 149px;
	top: 0;
	display: none;
	}

并将子菜单隐藏,如下



3. 加边框

ul li a {
	display: block;
	text-decoration: none;
	color: #777;
	background: #fff;
	padding: 5px;
	border: 1px solid #ccc;
	border-bottom: 0;
	}
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */

4. 显示子菜单

li:hover ul { display: block; } /*  The magic */

这样就可以了, 不过发现 IE6 不支持这种方式,

于是就可以使用下面的简单的javascript

startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.οnmοuseοver=function() {
this.className+=" over";
  }
  node.οnmοuseοut=function() {
  this.className=this.className.replace»
	(" over", "");
   }
   }
  }
 }
}
window.οnlοad=startList;

但是,要把CSS简单的修改一下

li:hover ul, li.over ul { 
	display: block; }

同时把第一个ul修改为如下的内容, 加一个id

<ul id="nav">

这样就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值