2

我正在我的一个菜单项上制作一个下拉菜单。

IE:| Home | About | Store | Contact |

我想为说关于页面创建一个下拉菜单...但是每当我尝试添加

 <div id="snaznav"> <a href="#" id="home">Home</a>      
<ul>
<li><a href="#" id="about">About</a>
<ul>
     <li><a href="#">Submenu1</li>
     <li><a href="#">Submenu2</li>
     <li><a href="#">Submenu3</li>
</ul>
</li>
</ul></div>

每个下一个菜单项都会受到以下干扰:

主页 | 关于店铺 | 联系方式 |

我不知道..问题出在哪里?

我的 CSS 代码是:

#snaznav {

float:left;
height:42px;
top:151px;
width:670px;
}

#snaznav a {
float:left;
height:41px;
display:block;
}

#home {
background:url(http://www.abc.com/home.gif) no-repeat transparent;
background-position:0 -2px!important;
width:77px;
}

#about {
background:url(http://www.abc.com/about.gif) no-repeat transparent;
background-position:-78px -2px!important;
width:104px;
}

#store {
background:url(http://www.abc.com/storegif) no-repeat transparent;
background-position:-307px -2px!important;
width:82px;
}

#contactus {
background:url(http://www.abc.com/contact.gif) no-repeat transparent;
background-position:-388px -2px!important;
width:131px;
}

如果你需要知道什么,尽管说我!!

4

1 回答 1

2

你能用这种方式重写你的 HTML 代码吗:

HTML:

<div id="snaznav">
    <ul>
        <li><a href="#" id="home">Home</a></li>
        <li>
            <a href="#" id="about">About</a>
            <ul>
                <li><a href="#">Submenu1</a></li>
                <li><a href="#">Submenu2</a></li>
                <li><a href="#">Submenu3</a></li>
            </ul>
        </li>
    </ul>
</div>​

这样您就可以通过这种方式应用 CSS:

CSS:

#snaznav ul {border-bottom: 1px solid #999;}
#snaznav ul li a {display: block; text-decoration: none; color: #333; padding: 5px; border: 1px solid #fff;}
#snaznav ul > li:hover {border: 1px solid #666; border-bottom: 1px solid #fff;}
#snaznav ul li a:hover {background: #ccc; border: 1px solid #999;}
#snaznav ul > li {display: inline-block; position: relative; border: 1px solid #fff;}
#snaznav ul > li ul {display: none; position: absolute; left: -1px; width: 150px; border: 1px solid #666; border-top-color: #fff; margin-top: 1px;}
#snaznav ul > li:hover ul {display: block;}
#snaznav ul > li ul li {display: block;} /* Vertical Menu */
#snaznav ul > li ul li {display: inline-block;} /* Horizontal Menu */​

小提琴: http:
//jsfiddle.net/VmHXb/1/(垂直)
http://jsfiddle.net/VmHXb/3/(水平)

于 2012-10-18T06:27:36.647 回答