2

我有这个 CSS:

.nav > li:hover {
    background: #4D2177;
    color:#FFFFFF;
    text-decoration:none;
}
.active {
    background: #4D2177;
    color:#FFFFFF;
    text-decoration:none;
}
nav, ul, li, a {
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}
.container {
    width: 100%;
    margin: 10px auto;
}
.toggleMenu {
    display: none;
    padding: 10px 15px;
    color: #4D2177;
    width:100%;
    text-align:center;
}
.nav {
    list-style: none;
    *zoom: 1;
    text-align: right;
}
.nav:before,.nav:after {
    content: " "; 
    display: table; 
}
.nav:after {
    clear: both;
}
.nav ul {
    list-style: none;
    width: 12em;
}
.nav a {
    padding: 10px 15px;
    color:#4D2177;
}
.nav li {
    position: relative;
    text-align: left;
}
.nav > li {
    display: inline-block;
}
.nav > li > .parent {
    background-image: url("/images/downArrow.png");
    background-repeat: no-repeat;
    background-position: right;
}
.nav > li > a {
    display: block;
}
.nav li  ul {
    position: absolute;
    left: -9999px;
}
.nav > li.hover > ul {
    left: 0;
    color:#FFFFFF;
}
.nav li li.hover ul {
    left: 100%;
    top: 0;
}
.nav li li a {
    display: block;
    background: #4D2177;
    color:#FFFFFF;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li li a {
    background:#f36f25;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

@media screen and (max-width: 600px) {
    .active {
        display: block;
    }
    .nav {
        border-top: none;
    }
    .nav > li {
        display: block;
        border-top: 1px solid #ffffff;
    }
    .nav > li > .parent {
        background-position: 95% 50%;
    }
    .nav li li .parent {
        background-image: url("/images/downArrow.png");
        background-repeat: no-repeat;
        background-position: 95% 50%;
    }
    .nav ul {
        display: block;
        width: 100%;
    }
   .nav > li.hover > ul , .nav li li.hover ul {
        position: static;
    }
}

这个HTML:

<a class="toggleMenu" href="#">Menu</a>
<ul class="nav">
<li><a href=""><span>Homepage</span></a></li>
<li><a href=""><span>News</span></a></li>
<li><a href=""><span>Sections</span></a>
    <ul>
        <li><a href=""><span>Beavers</span></a></li>
        <li><a href=""><span>Cubs</span></a></li>
        <li><a href=""><span>Scouts</span></a></li>
        <li><a href=""><span>Explorers</span></a></li>
    </ul>
</li>
<li><a href=""><span>Gallery</span></a></li>
<li><a href=""><span>Events</span></a></li>
<li><a href=""><span>Contact Us</span></a></li>
</ul>

对于水平菜单,但文本的悬停颜色未更改为白色 (#FFFFFF)

我怎样才能让它工作?

4

4 回答 4

1

您正在定位,lia不是by除非您通过声明指定,因此请改用以下选择器inheritcolordefaultinheritcolor: inherit;

.nav > li:hover a {
   color: #fff;
}

上面的选择器将定位a元素hoverli

另一方面,您还可以使用下面的选择器

.nav > li a:hover {
   color: #fff;
}

这将改变colorof上的a元素:hovera


如果你想指定继承..你可以这样做

.nav > li a {
   color: inherit;
}

而且你可以使用你正在使用的选择器,它应该可以工作......

于 2013-11-11T20:11:19.303 回答
0
.nav > li > a:hover {
    background: #4D2177;
    color:#FFFFFF;
    text-decoration:none;
}

将 " > a:hover 添加到 CSS 的第一行。

您正在进一步覆盖它。这是小提琴。

http://jsfiddle.net/g6QMB/

于 2013-11-11T20:11:47.000 回答
0

使用 :hover 选择器。

CSS:

.nav li a:hover {
    color:#ffffff;
}

小提琴。_

于 2013-11-11T20:12:08.053 回答
0

添加这个类:

ul.nav li:hover a{
    color:#fff;
}

jsFiddle

于 2013-11-12T06:48:10.493 回答