您当前所在的位置:首页>>设计教程>>网页设计>>正文 文章正文
CSS垂直树形下拉菜单
作者:  点击数:

以下是引用片段:
ul li {
 position: relative;
 }

现在我们定义的就是副菜单的内容部分,使用left和top属性我们就可以让它们显示在主菜单内容的右边.display属性值为none所以在默认情况下是隐藏的:

以下是引用片段:
li ul {
 position: absolute;
 left: 149px;
 top: 0;
 display: none;
 }

最后得修饰下里面的a元素:

以下是引用片段:
ul li a {
 display: block;
 text-decoration: none;
 color: #777;
 background: #fff;
 padding: 5px;
 border: 1px solid #ccc;
 border-bottom: 0;
 }

但因为IE的显示BUG,所以得加上下面这段话进行修复:

以下是引用片段:
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */

第三部:让它运作起来

我们需要在我们移动到主菜单上时显示副菜单内容:

以下是引用片段:
li:hover ul { display: block; }

好了,你可以测试下代码了,1%人可能会兴奋地叫起来,呵呵遗憾的是就目前这些代码还不能够在IE上运做作出我们想要的结果.要让IE运作出一样的效果,我们得使用一段JS代码,不会非常的烦琐:

以下是引用片段:
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.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace»
 (" over", "");
   }
   }
  }
 }
}
window.onload=startList;

好了,其他代码再做下补充,这个功能就能实现了:

以下是引用片段:
li:hover ul, li.over ul { 
 display: block; }

<ul id="nav">
自己动手做一个吧,可以更好看些

本新闻共2页,当前在第2页  1  2  

相 关 搜 索
今 日 头 条
 
最 新 热 门
最 新 推 荐
 
文章来源: 网络  更新时间:2007-6-2 11:20:09  责任编辑:
  上一篇文章:CSS应用实例:水平线变成虚线
下一篇文章:让广告代码不再影响网页加载速度
相关文章
CSS应用实例:水平线变成虚线
CSS层叠样式表(滤镜篇)
CSS层叠样式表(效果篇)
CSS层叠样式表(基础篇)
CSS样式表 之 有关表格边框的CSS
CSS样式表 之 禁止背景在网页中平
CSS滤镜详解
用CSS创建一个布局居中的页面
在DreamWeaver中应用CSS样式表技
如何将 CSS 加入网页