0

我有以下 HTML,它是由插件输出的,所以我无法更改某些输出:

    <div id="submenu">
        <h2>text</h2>
<!-- can't change start -->
       <ul class="nav secondary">
            <li class="active"><a href="#">Contact Info</a></li>
            <li><a href="#">About You</a></li>
        </ul>
<!--cant' change end-->
    </div>

具体来说,我无法控制获得输出的 UL 类名称(导航辅助)、li 标签(问题是活动类)和 a 标签。

问题是我不知道如何让 li.active 更改活动链接的 a 标签的字体颜色。这是我的CSS:

#submenu {
    float: left;
    width: 100%;
    height: 53px;
     margin: 0px 0px 12px 0px;
     padding: 5px 0px 2px 0px;
     border-bottom: 1px solid #eeeeee;
}
#submenu h2 {
}
#submenu ul {
    margin: 0;
    padding: 0;
    float: right;
}
#submenu li {
    list-style: none;
    float: left;
    padding: 12px 0px 0px 28px;
    display: inline;
}
#submenu li a {
    color: #333333;
}
#submenu a:hover {
    color: #A0A0A0;
}

#submenu a {
    padding:0px;
}
#submenu .active {
    color:#CC0000; /**#A0A0A0; */
}
#submenu .nav > li > a:hover {
    padding:0px;
    background:none;
}

特异性让我感到困惑。如何让 li.active 覆盖链接的字体颜色?

4

3 回答 3

1

如果您将其更改为:

li.active a { color: #CC0000; }

它应该覆盖标准a颜色

有关 CSS 特异性的更多信息,请查看以下内容:

http://www.standardista.com/css3/css-specificity/

我把那个愚蠢的图形打印出来并挂在我的隔间墙上。这很有帮助。

于 2013-10-16T20:47:50.250 回答
1

这与特异性无关。

#submenu li a匹配a元素但#submenu .active匹配li元素。

没有任何东西将其设置为acolor: inherit因此它永远不会从li元素中获取颜色。

更改选择器以匹配a而不是li

#submenu li.active a
于 2013-10-16T21:05:06.407 回答
-1

您是否尝试过确保在插件生成或使用 css 之后加载您的 css?

于 2013-10-16T20:56:44.773 回答