【发布时间】:2011-05-15 07:25:38
【问题描述】:
我正在尝试在 CSS 中制作水平菜单布局。我正在使用此处列出的指南: http://www.devinrolsen.com/pure-css-horizontal-menu/
我有一个类似这样的 css 文件,名为 navigation.css:
.navigation{
width:100%;
height:30px;
background-color:lightgray;
}
.navigation ul {
margin:0px;
padding:0px;
}
.navigation ul li {
display:inline;
height:30px;
float:left;
list-style:none;
margin-left:15px;
}
.navigation li a {
color:black;
text-decoration:none;
}
.navigation li a:hover {
color:black;
text-decoration:underline;
}
.navigation li ul {
margin:0px;
padding:0px;
display:none;
}
.navigation li:hover ul {
display:block;
width:160px;
}
.navigation li li{
list-style:none;
display:block;
}
在我的实际 php 页面中,我有这个
<div class="navigation">
<ul>
<li>
<a href="#">something</a>
<ul>
<li><a href="./hello.php">Hello</a></li>
<li><a href="./hello2.php">hello2</a></li>
</ul>
</li>
<li>
<a href="#">Browse database</a>
<ul>
<li><a href="./test.php">test</a></li>
<li><a href="./test2.php">Test2</a></li>
<li><a href="./search.php">Search</a></li>
</ul>
</li>
</ul>
</div>
由于我无法确定的原因,它们没有下拉菜单效果。因此,如果我通过将 .navigation 替换为 #navigation 将导航更改为 id 而不是类,那么所有布局都不会影响 HTML。
【问题讨论】:
-
下拉菜单似乎可以正常工作,请参阅:jsfiddle.net/WaqjY
-
我从我的 HTML 中删掉了一些原始代码,也许问题出在那儿..我回头看看,谢谢
-
您的菜单下方是否有任何内容可能会呈现在您的菜单下拉菜单上方?
-
不,实际发生的情况是子菜单(test、test2、hello、hello2)即使没有将光标悬停在它们上面也会显示在页面上
-
很奇怪。在 IE 7+ 中运行良好