当前菜单颜色跨越整个下拉列表

时间:2013-10-29 20:10:16

标签: html css drop-down-menu

我有一个公司网站的下拉菜单,我正在尝试将其设置在您在特定页面上的位置,导航/菜单中文本的颜色是不同的颜色。它部分工作。目前,我的HTML和CSS文件会更改当前主标题的颜色,但同样的颜色也会扩展到我的下拉列表中,从而更改所有链接的颜色。我能帮忙吗?

CSS:

.menu{
    padding:0;
    margin:25px 0 0 0;
}
.menu {
    list-style: none;
    display: block;
    float: right;
}
.menu > li {
    position:relative;
    width:auto;
    line-height:40px;
    text-align:center;
    padding:0 10px;
    float:left;
    display:block;
    border-right: 1px solid #d8d8d8;
    z-index:300;
}
.menu li ul{
    padding: 10px 10px;
    position:absolute;
    background-color:white;
    left:0;
    width:auto;
    display:none;
}
.menu li:hover > ul{
    display:block;
}
.menu li ul li{
    line-height:20px;
    white-space:nowrap;
    text-transform:capitalize;
    margin-bottom:2px;
}
.menu li ul li:hover{
    color:#f15c22;
}
/*.menu li{
    float:left;
    padding:12px;
    border-right: 1px solid #d8d8d8;
}*/
.menu li.last-menu-item{
    border: none;
    padding-right:0;
}
.last-menu-item p{
    font-size: 15px;
    color: #132d3c;
    font-family: 'sansationbold';
    margin: 0em;
}
.menu a{
    color:#132d3c;
    font-size:15px;
    font-family: 'sansationbold';
    text-transform: uppercase;
    text-decoration: none;
    font-weight:lighter;
}
.menu a:hover{
    color:#f15c22;
}
#current-menu-item a{
    color:#f15c22;
}

HTML:

<ul class="menu alignright">
                <li><a href="index.html">Home</a></li>
                <li id="current-menu-item"><a href="about.html">About</a>
                    <ul>
                        <li><a href="about.html">Who We Are</a></li>
                        <li><a href="about.html">Values</a></li>
                        <li><a href="message.html">Owners Message</a></li>
                        <li><a href="#">Infotek Blog</a></li>
                        <li><a href="stories.html">Success Stories</a></li>
                        <li><a href="partners.html">Partners</a></li>
                    </ul>
                </li>
                <li><a href="products.html">Products &amp; Solutions</a>
                    <ul>
                        <li><a href="security.html">Security Solutions</a></li>
                        <li><a href="data.html">Data Solutions</a></li>
                        <li><a href="communication.html">Communication Solutions</a></li>
                        <li><a href="connect.html">Connectivity Solutions</a></li>
                        <li><a href="infra.html">Infrastructure Solutions</a></li>
                        <li><a href="resources.html">Resources</a></li>
                    </ul>
                </li>
                <li class="last-menu-item"><a href="contact.html">Contact</a>
                <ul>
                    <li><p>Phone:</p></li>
                    <li><p>281-296-3160</p></li>
                    <br />
                    <li><a href="mailto:sales@infotek-solutions.net">Sales</a></li>
                    <li><a href="mailto:techsupport@infotek-solutions.net">Support</a></li>
                    <li><a href="mailto:hr@infotek-solutions.net">HR</a></li>
                    <li><a href="#">Blog</a></li>
                    <li><a href="contact.html">Contact Form</a></li>
               </ul>
               </li>
            </ul>

我知道我的代码令人困惑和草率,但我对HTML和CSS相当新,实际上在本学期的网页设计1课程中。提前谢谢!

Here is a jsFiddle of the code above

1 个答案:

答案 0 :(得分:0)

只需改变一下:

#current-menu-item a {
    color:#f15c22;
}

对此:

#current-menu-item > a {
    color:#f15c22;
}

问题在于#current-menu-item a的原始代码选择了a的所有#current-menu-item,当您只希望将其应用于直接子代时。 >选择器可以做到这一点,防止级联进一步a后代。

Here is the updated jsFiddle