我正在修改现有网页的 CSS。导航菜单采用列表的形式,其中项目在正常情况下具有某种背景颜色,而在活动或悬停时具有另一种颜色。用于此的 CSS 代码如下:
#navigation li a:hover,
#navigation li#active a {
background: #104E91;
}
一些菜单项(在本例中为列表项)具有带有指向子页面的链接的下拉菜单。我试图使导航菜单项具有“活动”背景颜色,不仅如果它们本身是活动的,而且如果它们的子页面之一是打开的。有什么方法可以实现吗?下拉菜单的代码如下所示:
#wsite-menus .wsite-menu li:first-child {
border-top: 1px solid #000;
}
#wsite-menus .wsite-menu li a {
padding: 8px;
color: #fff;
background: #2f2f2f;
border: 1px solid #4b4b4b;
border-top: none;
}
#wsite-menus .wsite-menu li a:hover {
background: #4b4b4b;
}
我怀疑实现这一点的方法是将上述两个代码块中的第一个修改为如下所示:
#navigation li a:hover,
**#navigation li#active child,**
#navigation li#active a {
background: #104E91;
}
或类似的东西,但我无法弄清楚确切的语法。有没有办法打开子页面可以使父页面在导航菜单中看起来很活跃?
HTML如下:
<div id = "navigation">
<ul class = "wsite-menu-default">
<span id = "Span1" class = "wsite-nav-handle"> style="display: inline;">
<li class="w-menu-item wsite-nav-0" style="position: relative;">
...等等,有许多列表项。我想我应该创建一个单独的跨度,将活动背景颜色赋予列表项,并在每个子页面上,将该跨度放在负责页面父菜单项的列表项周围。