您的位置:首页 > Web前端 > CSS

CSS网页布局入门教程14:纵向下拉及多级弹出式菜单

2007-09-13 22:48 801 查看
学完了上节教程,我想对于这于这节的学习就容易得多了。
横向菜单是通过div及JavaSprict实现下拉控制,纵向菜单呢?答案是肯定的。我们现在要做的就是一个纵向菜单,css代码:

ul { margin:0; padding:0; list-style:none; width:120px; border-bottom:1px solid #ccc; font-size:12px;}
ul li { position:relative;}
li ul { position:absolute; left:119px; top:0; display:none;}
ul li a { width:108px; display:block; text-decoration:none; color:#666666; background:#fff; padding:5px; border:1px solid #ccc; border-bottom:0px;}
ul li a:hover { background-color:#ddd;}
/*解决ul在IE下显示不正确的问题*/
* html ul li { float:left; height:1%;}
* html ul li a { height:1%;}
/* end */
li:hover ul,li.over ul { display:block;}


css代码的编写基本上保持了与横向导航相同的思路,不同的是,为了实现导航中的了导航与主导航在实现鼠标交互的同时,保持其相对位置一致,我们使用了对ul li{}使用了position:relative;使其定位方式转为相对定位。而对li ul{}即子导航采用了position:absolute;相对于导航的绝对定位方式,了其鼠标交互后的位置一致。
也许您已经发现,这里在css代码未尾增加了一段注释的定义* html ul li 与* html ul li a。这里用到的是CSS hack,这是因为不同的浏览器对代码的解析不同,用来实现在各浏览器上显示相同的效果而使用的。这段代码只有IE浏览器能解析,其它浏览器视而不见。
本例的最终显示效果如下:
下拉纵向及多级弹出式菜单www.aa25.cn ul { margin:0; padding:0; list-style:none; width:120px; border-bottom:1px solid #ccc; font-size:12px;} ul li { position:relative;} li ul { position:absolute; left:119px; top:0; display:none;} ul li a { width:108px; display:block; text-decoration:none; color:#666666; background:#fff; padding:5px; border:1px solid #ccc; border-bottom:0px;} ul li a:hover { background-color:#ddd;} /*解决ul在IE下显示不正确的问题aa25.cn*/ * html ul li { float:left; height:1%;} * html ul li a { height:1%;} /* end */ li:hover ul,li.over ul { display:block;}
  • 文章 [ul] CSS教程
  • DOM教程
  • XML教程
  • FLASH教程
  • 参考
      XHTML
    • XML
    • CSS
  • BLOG
      全部
    • 网页技术
    • UI技术
    • FLASH技术
  • 摇滚
  • 纯音乐
  • 古典金曲
  • 电影原声
  • [/ul]
    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: