纯CSS无限级下拉菜单
作者:飘零雾雨 来源:Css探索之旅 发布时间:2009-09-17 11:29:00
前几天翻出以前写的一个纯CSS仿微软经典菜单,现在看来才感叹,微软的经典菜单确实很经典,至少看起来不觉得厌烦。
感叹归感叹,想想既然可以实现下拉菜单了,那么无限级下拉菜单理论上也是可以实现的,看了下之前的代码结构,马上肯定了这个理论。当然这完全归功于伟大的子选择符,形如:E>F,遗憾的是IE6并不支持子选择符,甚为郁闷,不过也不用放弃,可以换个解决方案。
一般来说无限级只是一种“存在状态”,但其实我们会用到的“并不会是无限”,而是有限的一定级数,比如说7级,8级,或更多一点,因为超出屏幕就没多少实际意义了,并且实际情况也比较少会出现那么深的层次关系。
无限级在非IE下是可以很简单就实现的,IE6也并非不能实现,只是稍微繁琐的,且不是“智能”的实现,而是通过“预设”,比如你预计最多只会出现6级的下拉菜单,那么预设10级应该就足够适应那些不确定因素了。所以前面我才会说无限级其实只是一种“存在状态”,我们所用到的并不会是无限的。
趁着一会的空闲,动手改造了一下原有的css样式文件。
@charset "utf-8";
html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,form,th,td{margin:0;padding:0;font-size:12px;}
body{margin:10px;font:12px/2 Verdana, Arial, Helvetica, Simsun, "Microsoft YaHei";}
table{border-collapse:collapse;border-spacing:0;}
li{list-style:none;}
a{text-decoration:none;cursor:pointer;}
.copyright{margin-top:50px;font-size:13px;text-align:center;}
#dymenu{width:100px;line-height:25px;}
#dymenu .root li{position:relative;border:1px solid #FFF;border-width:1px 1px 0 0;background:#EEE;}
#dymenu .root li li{border-width:1px 0 0 1px;}
#dymenu .root a{display:block;zoom:1;padding:0 10px;background:#EEE;color:#000;vertical-align:top;}
#dymenu .root h4{padding:0 10px;*padding:0;background:#EEE;*background:none;color:#000;font-weight:normal;cursor:pointer;}
#dymenu .root a:hover{background:#DDD;color:#333;}
#dymenu .root li:hover>h4{background:#DDD;color:#333;}
#dymenu .root ul,#dymenu a:hover a ul,#dymenu a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a ul{display:none;margin:-1px 0 0 0;_margin-top:0;background:#EEE;}
#dymenu a:hover ul,#dymenu a:hover a:hover ul,#dymenu a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover ul,#dymenu a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover a:hover ul{display:block;position:absolute;left:99px;top:0;width:100px;}
#dymenu .root li:hover>ul{display:block;position:absolute;left:99px;top:0;width:100px;margin-top:-1px;background:#EEE;}
来看实例:cssmenu.htm
猜你喜欢
- Dethe Elza (delza@livingcode.org), 高级技术架构师, Blast Radius &n
- 可以使用 XDR(简化 XML-Data)架构创建关系数据的 XML 视图。然后可以使用 XPath 查询来查询这些视图。这类似于使用 CR
- *注意:本文的内容涉及到修改NTFS磁盘权限和设置安全策略,请务必在确认您了解操作可能的后果之后再动手进行任何的修改。文中提及的权限都是在原
- 一个不错的文字放大特性源码。效果图:运行代码框<script for=document event=onmousemove>//
- 学习目的: 学习ADO.NET用法,并如何用DataRearder读取数据 今天练习数据库的最基本用法,如何打开数据库。首先在网站设置文件w
- 数据库的选择原则是什么?我只知道小网站用Access,大网站用SQL,请问它的具体选择原则是什么?在实际应用中,数据库的选择原则一般是:如果
- asp fso type属性取得文件类型代码是用来返回类型指定的文件或文件夹。语法FileObject.Type FolderObject.
- 8. 使用DECODE函数来减少处理时间使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: SELECT COUNT(
- CSS网页布局开发中,会有很多小技巧,这里再扩展一下您所想要得到的知识,相信您会有很多收获!一、ul标签在Mozilla中默认是有paddi
- 方法很简单,实现原理:使用asp的Request.ServerVariables("HTTP_REFERER") 判断来
- 这是来自于Steven D编写的WEB前端开发设计要点的内容。虽然许多设计师已非常熟练的使用了Web标准,让人遗憾的是有很多细节的排版处理仍
- 第一类工厂相当于mootools的Native方法,用于创建一些具有扩展能力的类,但这些类并没有继承能力,此类工厂也不能以某个类作为蓝本创建
- conn.execute、rs.open之间的差别,conn.execute、rs.open、command.execute方法用法大大不同
- 当我们在网页中使用flash时,有时候外面会发现flash会遮住了我们的网页内容,特别是当页面中有浮动的元素时。那么怎么样才能让div层显示
- 1 create table test(coltest varchar(20))2 实现这一功能 的 sql 语句 s
- 在用到编辑器时,就会碰到一点,那就是标签的闭合问题,这个问题非常严峻,因为这可能会导致网页显示的整体样式受到破坏。这最近在PJ的functi
- 我设了个排卖的起始时间然后设了一个结束时间现在要精确到小时比如提示 “离到期时间:1天XX小时”大家有什么想法吗?我就是在小时总是不能实现,
- 大部分服务器管理员知道MySQL数据库管理系统(RDBMS)是高度灵活的软件块,带有范围广阔的启动选项,可以用来修改相关行为。然而,大部分人
- LoadRunner监控MySQLhttp://www.docin.com/p-92272846.htmlAdvanced MySQL Pe
- 是的,这仅仅是一个PPT文档,由Anna Debenham上传至slideshare。幻灯片的标题叫做《CSS nuggets》,嗯,很好的