利用纯css实现三级下拉菜单效果

利用纯css实现三级下拉菜单效果

先看效果

 

下面为代码

 代码如下 复制代码

<style>
.menu {
    width:750px;
    font-size:0.85em;
    position:relative;
    z-index:100;
}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
    padding:0;
    margin:0;
    list-style-type:none;
}
.menu ul ul {
    width:150px;
}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {
    float:left;
    width:150px;
    position:relative;
}
/* style the links for the top level */
.menu a, .menu a:visited {
    display:block;
    font-size:11px;
    text-decoration:none;
    color:#fff;
    width:139px;
    height:30px;
    border:1px solid #fff;
    border-width:1px 1px 0 0;
    background:#758279;
    padding-left:10px;
    line-height:29px;
}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {
    width:150px;
    width:139px;
}
 
/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {
    background:#d4d8bd url(../img/drop.gif) bottom right no-repeat;
}
/* style the second level hover */
.menu ul ul a.drop:hover{
    background:#c9ba65 url(../img/drop.gif) bottom right no-repeat;
}
.menu ul ul :hover > a.drop {
    background:#c9ba65 url(../img/drop.gif) bottom right no-repeat;
}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {
    background:#e2dfa8;
}
/* style the third level hover */
.menu ul ul ul a:hover {
    background:#b2ab9b;
}
 
/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {
    visibility:hidden;
    position:absolute;
    height:0;
    top:31px;
    left:0;
    width:150px;
}
/* another hack for IE5.5 */
* html .menu ul ul {
    top:30px;
    top:31px;
}
 
/* position the third level flyout menu */
.menu ul ul ul{
    left:150px;
    top:0;
    width:150px;
}
/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {
    left:-150px;
}
 
/* style the table so that it takes no ppart in the layout – required for IE to work */
.menu table {position:absolute; top:0; left:0;}
 
/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
    background:#d4d8bd;
    color:#000;
    height:auto;
    line-height:1em;
    padding:5px 10px;
    width:129px
    /* yet another hack for IE5.5 */
}
* html .menu ul ul a{
    width:150px;
    width:129px;
}
 
/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{
    color:#fff;
    background:#949e7c;
}
.menu :hover > a, .menu ul ul :hover > a {
    color:#fff;
    background:#949e7c;
}
 
/* make the second level visible when hover on first level list OR link  */
.menu ul li:hover ul,
.menu ul a:hover ul{
    visibility:visible;
}
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{
    visibility:hidden;
}
 
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{
    visibility:visible;
}
</style>

html

 代码如下 复制代码
<div class=”menu”>
 
<ul>
<li><a href=”./menu/index.html”>DEMOS<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
    <ul>
    <li><a href=”../menu/zero_dollars.html” title=”The zero dollar ads page”>zero dollars advertising page</a></li>
    <li><a href=”../menu/embed.html” title=”Wrapping text around images”>wrapping text around images</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=”drop” href=”../menu/hover_click.html” title=”Hover/click with no active/focus borders”>hover/click with no borders<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
        <ul>
            <li><a href=”../menu/form.html” title=”Styling forms”>styled form</a></li>
            <li><a href=”../menu/nodots.html” title=”Removing active/focus borders”>removing active/focus borders</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 class=”drop” href=”./menu/shadow_boxing.html” title=”Multi-position drop shadow”>shadow boxing<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
        <ul>
            <li><a href=”../menu/form.html” title=”Styling forms”>styled form</a></li>
            <li><a href=”../menu/nodots.html” title=”Removing active/focus borders”>removing active/focus borders</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 class=”drop” href=”../menu/old_master.html” title=”Image Map for detailed information”>image map for detailed information<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
        <ul>
            <li><a href=”../menu/form.html” title=”Styling forms”>styled form</a></li>
            <li><a href=”../menu/nodots.html” title=”Removing active/focus borders”>removing active/focus borders</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=”../menu/bodies.html” title=”fun with background images”>fun with background images</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 image sizes compared</a></li>
    </ul>
<!–[if lte IE 6]></td></tr></table></a><![endif]–>
</li>
<li><a href=”./boxes/index.html”>BOXES<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
    <ul>
    <li><a href=”spies.html” title=”a coded list of spies”>a coded list of spies</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 unordered 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 href=”./mozilla/index.html”>MOZILLA<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><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=”../mozilla/content.html” 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=”../mozilla/rainbow.html” title=”I can build a rainbow”>I can build a rainbow with transparent borders</a></li>
    <li><a href=”../mozilla/snooker.html” title=”Snooker cue”>a snooker cue using border art</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 href=”./ie/index.html”>EXPLORER<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
    <ul>
    <li><a href=”../ie/exampleone.html” title=”Example one”>the first example for Internet Explorer</a></li>
    <li><a href=”../ie/weft.html” title=”Weft fonts”>weft fonts</a></li>
    <li><a href=”../ie/exampletwo.html” title=”Vertical align”>vertically aligning text</a></li>
    </ul>
<!–[if lte IE 6]></td></tr></table></a><![endif]–>
</li>
<li><a href=”./opacity/index.html”>OPACITY<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
    <ul>
    <li><a href=”../opacity/colours.html” title=”colour wheel”>a colour wheel using opaque colours</a></li>
    <li><a href=”../opacity/picturemenu.html” title=”a menu using opacity”>a menu using opacity</a></li>
    <li><a href=”../opacity/png.html” title=”partial opacity”>partial opacity</a></li>
    <li><a href=”../opacity/png2.html” title=”partial opacity II”>partial opacity II</a></li>
    <li><a class=”drop” href=”../menu/hover_click.html” title=”Hover/click with no active/focus borders”>HOVER/CLICK<!–[if IE 7]><!–></a><!–<![endif]–>
<!–[if lte IE 6]><table><tr><td><![endif]–>
        <ul class=”left”>
            <li><a href=”../menu/form.html” title=”Styling forms”>styled form</a></li>
            <li><a href=”../menu/nodots.html” title=”Removing active/focus borders”>removing active/focus borders</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>
    </ul>
<!–[if lte IE 6]></td></tr></table></a><![endif]–>
</li>
</ul>
 
</div>
利用纯css实现三级下拉菜单效果

相关文章:

你感兴趣的文章:

标签云: