当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 纯CSS 级联菜单实现代码

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 纯CSS 级联菜单实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 94 ::
收藏到网摘: n/a

参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2
操作系统:Windows
这次给项目做的级联菜单使用了纯CSS的方式,霍霍,能用CSS做的,就用CSS完成吧。
早已有前辈完成过这样的实例了,我以为我能顺利完成,但没想到处处碰壁,故记录一点心得如下,供大家参阅。
废话不多说,咚咚咚,开始制作啦!
除了IE6这个坚强的孩子,其他浏览器攻克还是比较容易的。
运行代码框



提示:您可以先修改部分代码再运行

该实例完成大概就两个要点:
忌浮忌躁,一步步来,先把最低级的display:none;做。
“:hover伪类”的使用,默认状态“display:none;”,“:hover”时则“display:block;”则能很容易完成。
而IE6下折腾就比较复杂了,经过头破血流的教训之后,总结出关键四点:
1. 原理:IE6仅<a>标签支持:hover伪类,但如果a标签里面再嵌入a标签,里面的a标签将不会生效,所以必须在之间套加一层<table>;

代码如下:

<!–[if IE 6]><a href="#nogo"><table><tr><td><![endif]–>
内容部分可以含有<a>标签
<!–[if IE 6]></td></tr></table></a><![endif]–>

2. 关键样式名:这个用于:hover效果的a标签的命名,如果使用与<li>一致的样式名(在非IE6中是li:hover产生的效果),将不用再另写样式代码,不仅节省了代码开销,而且可维性更好;(这个是省时省力的关键)

代码如下:

<li class="li">
<!–[if IE 6]><a class="li" href="#nogo"><table><tr><td>
<![endif]–>
内容部分可以含有<a>标签
<!–[if IE 6]></td></tr></table></a><![endif]–>
</li>

3. visibility的使用:采用display的话将出现onmouseout时上一次显示的optionGroup仍然不消失的情况

代码如下:

.c_subNav .li:hover ul { visibility:visible;}

4.table的设置: [含泪ing]table一定要记得width:100%;啊,一定要记得啊,一定要记得啊,一定要记得啊。
最后完成效果:
运行代码框



提示:您可以先修改部分代码再运行