注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 网页制作 > CSS技术应用 内容正文:CSS垂直树形下拉菜单

CSS垂直树形下拉菜单

发布时间:2006-05-24 22:18:35 来源:www.netvtm.com 网友评论 0 条

第一步:建立菜单

首先建立菜单架构非常重要,最好的方法是使用ul来建立各菜单内容的从主关系.很复杂么?其实只要一路写下去就OK了:

以下是引用片段:
 <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="#">Services</a> 
      <ul> 
        <li><a href="#">Web Design</a></li> 
        <li><a href="#">Internet 
            Marketing</a></li> 
        <li><a href="#">Hosting</a></li> 
        <li><a href="#">Domain Names</a></li> 
        <li><a href="#">Broadband</a></li> 
      </ul> 
    </li>

    <li><a href="#">Contact Us</a> 
      <ul> 
        <li><a href="#">United Kingdom</a></li> 
        <li><a href="#">France</a></li> 
        <li><a href="#">USA</a></li> 
        <li><a href="#">Australia</a></li> 
      </ul> 
    </li> 
  </ul>

第二步:视觉上的修饰

上面所写的代码直接在浏览器下可以说非常的难看...所以我们先给他们加上点样式,不至于因为外表的问题弄的你没有兴趣继续做下去,呵呵

首先我们把烦人的点点去掉,并定义这个菜单的宽度:

以下是引用片段:
ul {
 margin: 0;
 padding: 0;
 list-style: none;
 width: 150px;
           border-bottom: 1px solid #ccc;
 }

接下来,我们要定义里面内容部分,非常幸运,列表默认的排列就是垂直的,这与我们的要求相一致,定位方式我们应该设置为相对定位(relative)因为副菜单要在相对的位置上进行绝对定位:

以下是引用片段:
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">
自己动手做一个吧,可以更好看些
相关文章
  • CSS用样式表美化你的网页
  • ASP.NET 2.0配合MasterPage的优化CSS
  • 用CSS制作照片走廊
  • 纯CSS制作简洁的垂直导航
  • 用CSS制作隐藏菜单
【评论】【收藏本文】【打印】【关闭】
上一篇文章:小结:一个CSS代码参考图
下一篇文章:用CSS制作隐藏菜单
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
CSS的“顶级技巧”
CSS的“顶级技巧”
如何使用CSS来进行网页排版
如何使用CSS来进行网页排版
CSS样式表教程-If you love css …
CSS样式表教程-If you love css …
推荐阅讯
  • 玩转表格 让你的网页炫起来
  • CSS用样式表美化你的网页
  • 常见页面元素遮住菜单解决方法
  • 针对浏览器隐藏CSS之九大技巧
  • DIV+CSS网页布局入门
  • CSS规范 闭合浮动元素介绍
  • 网页特效之CSS制作的三级下拉菜单
  • 用相对定位和负向移动完成图片象框阴影
  • 网页设计中如何使用嵌套的框架集
  • CSS技术结合图像实现动态效果的菜单导航
阅读排行
  • 1.如何使用CSS来进行网页排版
  • 2.CSS样式表教程-If you love css …
  • 3.CSS用样式表美化你的网页
  • 4.网页制作:几种所见所得的WEB在线编辑器
  • 5.网页常见可用性错误——表单组件错误
  • 6.CSS+JavaScript打造超酷右键菜单
  • 7.针对浏览器隐藏CSS之九大技巧
  • 8.DIV+CSS网页布局入门
  • 9.搜索引擎的蜘蛛人(ROBOTS)秘密
  • 10.CSS垂直树形下拉菜单
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载