我一直在使用这个水平菜单现在我想对它进行一些更改
更新版本:http://jsfiddle.net/sKDns/
我尝试了不同的方法,但我无法做到正确。我在这个菜单上遇到的另一个问题是,当我将鼠标悬停在父菜单项上时,它略微移动了2px或3px(这只发生在谷歌Chrome中,但在IE 9和FF中也能正常工作)。
我很感激这方面的帮助
<div id="nav-wrapper">
<ul class="dropdown dropdown-linear" id="nav">
<li class="active"><span class="dir"><a href="#">HOME</a></span><span id="menus-spacer">|</span></li>
<li><span class="dir"><a href="#">ABOUT US</a></span><span id="menus-spacer">|</span></li>
<li><span class="dir"><a href="#">ISSUE</a></span><span id="menus-spacer">|</span></li>
<li><span class="dir"><a href="#">CATEGORIES</a></span><span id="menus-spacer">|</span>
<ul>
<li><a href="#">Politics</a><span id="menus-spacer">|</span></li>
<li><a href="#">Feature</a><span id="menus-spacer">|</span></li>
<li><a href="#">Economy</a><span id="menus-spacer">|</span></li>
<li><a href="#">Feature</a><span id="menus-spacer">|</span></li>
<li><a href="#">Business</a><span id="menus-spacer">|</span></li>
</ul>
</li>
<li><span class="dir"><a href="#">ARCHIVE</a></span><span id="menus-spacer">|</span></li>
<li><span class="dir"><a href="#">NEWS</a></span><span id="menus-spacer">|</span></li>
</ul>
</div>
答案 0 :(得分:2)
如果我正确理解了这个问题,你只希望父菜单项在悬停时具有背景颜色(如果它有子菜单)。
我已更新您的jsfiddle。
我将带有子菜单的li的类设置为has-submenu。
<li class="has-submenu"><span class="dir"><a href="#">CATEGORIES</a></span><span id="menus-spacer">|</span>
然后我将CSS规则更新为仅适用于该类:
ul.dropdown li.has-submenu:hover > *.dir
{
background-color:#f1f1f1;
}
我希望这会有所帮助。至于跨浏览器问题,元素处于不同的位置,我建议使用像normalize.css这样的东西。 Normalize将使各种浏览器的基本样式相同。
编辑:只是想提供一个额外的注释:你的菜单 - 间隔跨度都具有相同的ID。对于页面上的每个元素,ID属性应该是唯一的。在这种情况下,使用class属性更合适。