CSS导航菜单在CSS网页布局中占有非常重要的位置,很多网友在学习CSS布局的时候,非常注重这方面知识与实例的学习。应用CSS可以实现菜单别致的效果。今天jzxue.com向大家介绍一款三级弹出CSS导航菜单,有点小复杂。用到了许多IE的HACK。看下面的HTML代码: <div class="menu">
<ul> <li><a class="hide" href="../menu/index.html">DEMOS</a> <!--[if lte IE 6]> <a href="../menu/index.html">DEMOS <table><tr><td> <![endif]--> <ul> <li><a href="../menu/zero_dollars.html" title="The zero dollar ads page">zero dollars</a></li> <li><a href="http://www.52css.com/" title="Wrapping text around images">wrapping text</a></li> <li><a href="../menu/form.html" title="Styling forms">styled form</a></li> <li><a href="../menu/nodots.html" title="Removing active/focus borders">active focus</a></li> <li><a class="hide" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">HOVER/CLICK ></a> <!--[if lte IE 6]> <a class="sub" href="http://www.52css.com/" title="Hover/click with no active/focus borders">HOVER/CLICK > <table><tr><td> <![endif]--> <ul> <li><a href="http://www.52css.com/" title="Styling forms">styled form</a></li> <li><a href="http://www.52css.com/" title="Removing active/focus borders">active focus</a></li> <li><a href="http://www.52css.com/" title="Hover/click with no active/focus borders">hover/click</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a href="http://www.52css.com/" title="Multi-position drop shadow">shadow boxing</a></li> <li><a href="http://www.52css.com/" title="Image Map for detailed information">image map</a></li> <li><a href="../menu/bodies.html" title="fun with background images">fun backgrounds</a></li> <li><a href="../menu/fade_scroll.html" title="fade-out scrolling">fade scrolling</a></li> <li><a href="../menu/em_images.html" title="em size images compared">em sized images</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="index.html">MENUS</a> <!--[if lte IE 6]> <a href="index.html">MENUS <table><tr><td> <![endif]--> <ul> <li><a href="spies.html" title="a coded list of spies">spies menu</a></li> <li><a href="http://www.52css.com/" title="a horizontal vertical menu">vertical menu</a></li> <li><a href="expand.html" title="an enlarging unordered list">enlarging list</a></li> <li><a href="enlarge.html" title="an unordered list with link images">link images</a></li> <li><a href="cross.html" title="non-rectangular links">non-rectangular</a></li> <li><a href="http://www.52css.com/" title="jigsaw links">jigsaw links</a></li> <li><a href="circles.html" title="circular links">circular links</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="http://www.52css.com/">LAYOUTS</a> <!--[if lte IE 6]> <a href="../layouts/index.html">LAYOUTS <table><tr><td> <![endif]--> <ul> <li><a href="../layouts/bodyfix.html" title="Cross browser fixed layout">Fixed 1</a></li> <li><a href="../layouts/body2.html" title="Cross browser fixed layout">Fixed 2</a></li> <li><a href="../layouts/body4.html" title="Cross browser fixed layout">Fixed 3</a></li> <li><a href="../layouts/body5.html" title="Cross browser fixed layout">Fixed 4</a></li> <li><a href="../layouts/minimum.html" title="A simple minimum width layout">minimum width</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="../boxes/index.html">BOXES</a> <!--[if lte IE 6]> <a href="../boxes/index.html">BOXES <table><tr><td> <![endif]--> <ul> <li><a href="spies.html" title="a coded list of spies">spies menu</a></li> <li><a href="vertical.html" title="a horizontal vertical menu">vertical menu</a></li> <li><a href="expand.html" title="an enlarging unordered list">enlarging list</a></li> <li><a href="enlarge.html" title="an unordered list with link images">link images</a></li> <li><a href="cross.html" title="non-rectangular links">non-rectangular</a></li> <li><a href="jigsaw.html" title="jigsaw links">jigsaw links</a></li> <li><a href="circles.html" title="circular links">circular links</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="../mozilla/index.html">MOZILLA</a> <!--[if lte IE 6]> <a href="../mozilla/index.html">MOZILLA <table><tr><td> <![endif]--> <ul> <li><a href="../mozilla/dropdown.html" title="A drop down menu">drop down menu</a></li> <li><a href="../mozilla/cascade.html" title="A cascading menu">cascading menu</a></li> <li><a href="http://www.52css.com/" title="Using content:">content:</a></li> <li><a href="../mozilla/moxbox.html" title=":hover applied to a div">mozzie box</a></li> <li><a href="http://www.52css.com/" title="I can build a rainbow">rainbow box</a></li> <li><a href="../mozilla/snooker.html" title="Snooker cue">snooker cue</a></li> <li><a href="../mozilla/target.html" title="Target Practise">target practise</a></li> <li><a href="../mozilla/splittext.html" title="Two tone headings">two tone headings</a></li> <li><a href="../mozilla/shadow_text.html" title="Shadow text">shadow text</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="../ie/index.html">EXPLORER</a> <!--[if lte IE 6]> <a href="../ie/index.html">EXPLORER <table><tr><td> <![endif]--> <ul> <li><a href="../ie/exampleone.html" title="Example one">example one</a></li> <li><a href="../ie/weft.html" title="Weft fonts">weft fonts</a></li> <li><a href="../ie/exampletwo.html" title="Vertical align">vertical align</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a class="hide" href="../opacity/index.html">OPACITY</a> <!--[if lte IE 6]> <a href="../opacity/index.html">OPACITY <table><tr><td> <![endif]--> <ul class="left"> <li><a class="hide" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">< HOVER/CLICK</a> <!--[if lte IE 6]> <a class="sub" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">< HOVER/CLICK <table><tr><td> <![endif]--> <ul class="left"> <li><a href="http://www.52css.com/" title="Styling forms">styled form</a></li> <li><a href="http://www.52css.com/" title="Removing active/focus borders">active focus</a></li> <li><a href="../menu/hover_click.html" title="Hover/click with no active/focus borders">hover/click</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> <li><a href="../opacity/colours.html" title="colour wheel">opaque colours</a></li> <li><a href="../opacity/picturemenu.html" title="a menu using opacity">opaque menu</a></li> <li><a href="http://www.52css.com/" title="partial opacity">partial opacity</a></li> <li><a href="../opacity/png2.html" title="partial opacity II">partial opacity II</a></li> </ul> <!--[if lte IE 6]> </td></tr></table> </a> <![endif]--> </li> </ul> </div>[quote] 看下面的CSS代码: [quote]<style type="text/css"> /* common styling */ .menu {font-family: verdana, arial, sans-serif; width:735px; position:relative; font-size:11px; margin:50px auto;} /*-第一层什么都不选-*/ .menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; width:94px; height:25px; text-align:left; color:#000; padding-left:10px; border:1px solid #fff; border-width:0 1px 1px 0; background:#c9c9a7; line-height:25px; font-size:11px;} /*--初始第一层--*/ .menu ul {padding:0; margin:0;list-style-type: none; } /*--初始第一层--*/ .menu ul li {float:left; position:relative;} /*--初始第三层--*/ .menu ul li ul {display: none;} /* specific to non IE browsers */ /*-鼠标在第一层时,链接的样子-*/ .menu ul li:hover a {color:#fff; background:#e9e9c7;} /*-鼠标在第一层时,第二层在上面-*/ .menu ul li:hover ul {display:block; position:absolute; bottom:26px; left:0;} /*-鼠标在第一层时,第二中有子对象的连接的样子-*/ .menu ul li:hover ul li a.hide {background:#a7c9c9; color:#000;} /*-鼠标在第一层时,然后鼠标在第二层,第二层li的样子--*/ .menu ul li:hover ul li {display:block; background:#fff; color:#000;width:199px; clear:both;} /*-鼠标在第一层时,然后鼠标在第二层,父连接的样子-*/ .menu ul li:hover ul li:hover a.hide {background:#00c; color:#000;} /*-鼠标在第一层时,然后鼠标在第二层,第三层隐藏-*/ .menu ul li:hover ul li ul {display: none;} /*-鼠标在第一层时,然后鼠标在第二层,第二层a的样子--*/ .menu ul li:hover ul li a {display:block; background:#c9a7c9; color:#fff; width:100%; padding-left:10px;} /*-鼠标在第一层时,然后鼠标在第二层,第二层a的选中样子--*/ .menu ul li:hover ul li a:hover {background:#dfc184; color:#000;} /*-鼠标在第一层时,然后鼠标在第二层,第3层--*/ .menu ul li:hover ul li:hover ul {display:block; position:absolute; left:210px; bottom:0;} /*-鼠标在第一层时,然后鼠标在第二层,第3层--*/ .menu ul li:hover ul li:hover ul li a {background:#dfc184; color:#000;} /*-鼠标在第一层时,然后鼠标在第二层,第3层--*/ .menu ul li:hover ul li:hover ul li a:hover {background:#c9c9a7; color:#000;} /*-向左出菜单的那种-*/ .menu ul li:hover ul.left {left:-105px;} .menu ul li:hover ul li:hover ul.left {left:-210px; width:209px;} </style> <!--[if lte IE 6]> <style type="text/css"> table {border-collapse:collapse; margin:0; padding:0;} .menu ul li a.hide, .menu ul li a:visited.hide {display:none;} .menu ul li a:hover ul li a.hide {display:none;} .menu ul li a:hover {color:#000; background:#e9e9c7;} .menu ul li a:hover ul {display:block; position:absolute; bottom:26px; left:0;} .menu ul li a:hover ul li {display:block; background:#fff; color:#000; width:199px;} .menu ul li a:hover ul li a.sub {background:#a7c9c9; color:#000;} .menu ul li a:hover ul li a {display:block; background:#c9a7c9; color:#000; width:100%; padding-left:10px;} .menu ul li a:hover ul li a ul {visibility:hidden;} .menu ul li a:hover ul li a:hover {background:#dfc184; color:#000;} .menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:210px; bottom:0;} .menu ul li a:hover ul li a:hover ul li a {background:#dfc184; color:#000;} .menu ul li a:hover ul li a:hover ul li a:hover {background:#c9c9a7; color:#000;} .menu ul li a:hover ul.left {left:-105px;} .menu ul li a:hover ul li a:hover ul.left {left:-210px;} </style> <![endif]--> 查看最终的运行效果:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] (责任编辑:admin) |