更改CSS菜单悬停颜色 [英] Change CSS Menu hover colours

查看:284
本文介绍了更改CSS菜单悬停颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的水平菜单有以下CSS:

.active { /* active/current link */
    background: #666666;
    text-decoration:none;
}
.toggleMenu { /* small screen open menu option/link */
    display: none;
    background: #666666;
    padding: 10px 15px;
    color: #ffffff;
    width:100%;
    text-align:center;
}
a {
    text-decoration: none;
}
.container {
    width: 100%;
    margin: 10px auto;
}

.nav { /* main nav bar */
    list-style: none;
    *zoom: 1;
    background:#f36f25;
    text-align: center;
}
.nav:before,.nav:after {
    content: " "; 
    display: table; 
}
nav, ul, li, a {
    margin: 0;
    padding: 0;
}
.nav > li:hover { /* main link hover */
    background: #666666;
    text-decoration:none;
}
.nav:after {
    clear: both;
}
.nav ul {
    list-style: none;
    width: 12em;
}
.nav a {
    padding: 10px 15px;
    color:#fff;
}
.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;
}
.nav li li.hover ul {
    left: 100%;
    top: 0;
}
.nav li li a { /* sub menu list */
    display: block;
    background: #F36F25;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li.hover a { /* sub menu list hover */
    background:#666666;
}
.nav li li li.hover a { /* sub sub menu list hover */
    background:#F36F25;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}
.nav li li li a { /* sub sub menu list */
    background:#F36F25;
}

@media screen and (max-width: 760px) {
    .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;
    }
}

但是我不知道如何更改子子菜单的背景和悬停背景颜色

这是一个小提琴: http://jsfiddle.net/UY7z4/1/

更新:

这是子菜单:

.nav li li a { /* sub menu list */
    display: block;
    background: #F36F25;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li.hover a { /* sub menu list hover */
    background:#666666;
}
.nav li li li a { /* sub sub menu list */
    background:#F36F25;
}
.nav li li li.hover a { /* sub sub menu list hover */
    background:#666666;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

因此子菜单应具有#F36F25背景和#666666悬停背景

,并且子子菜单应具有#F36F25背景和#666666悬停背景

解决方案

此处更新了答案

http://jsfiddle.net/UY7z4/19/

.nav > li > ul > li.hover > a { /* sub menu list hover */
    background:#666666;
}
.nav > li > ul > li.hover > ul > li { /* sub sub menu list hover */
    background:#F36F25;
}
.nav > li > ul > li.hover > ul > li:hover a {
    background:#666;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

I have this CSS for my horizontal menu:

.active { /* active/current link */
    background: #666666;
    text-decoration:none;
}
.toggleMenu { /* small screen open menu option/link */
    display: none;
    background: #666666;
    padding: 10px 15px;
    color: #ffffff;
    width:100%;
    text-align:center;
}
a {
    text-decoration: none;
}
.container {
    width: 100%;
    margin: 10px auto;
}

.nav { /* main nav bar */
    list-style: none;
    *zoom: 1;
    background:#f36f25;
    text-align: center;
}
.nav:before,.nav:after {
    content: " "; 
    display: table; 
}
nav, ul, li, a {
    margin: 0;
    padding: 0;
}
.nav > li:hover { /* main link hover */
    background: #666666;
    text-decoration:none;
}
.nav:after {
    clear: both;
}
.nav ul {
    list-style: none;
    width: 12em;
}
.nav a {
    padding: 10px 15px;
    color:#fff;
}
.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;
}
.nav li li.hover ul {
    left: 100%;
    top: 0;
}
.nav li li a { /* sub menu list */
    display: block;
    background: #F36F25;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li.hover a { /* sub menu list hover */
    background:#666666;
}
.nav li li li.hover a { /* sub sub menu list hover */
    background:#F36F25;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}
.nav li li li a { /* sub sub menu list */
    background:#F36F25;
}

@media screen and (max-width: 760px) {
    .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;
    }
}

but i can't work out how to change the sub sub menu background and hover background colours

here is a fiddle: http://jsfiddle.net/UY7z4/1/

UPDATE:

This is the sub menus:

.nav li li a { /* sub menu list */
    display: block;
    background: #F36F25;
    position: relative;
    z-index:100;
    border-top: 1px solid #ffffff;
}
.nav li li.hover a { /* sub menu list hover */
    background:#666666;
}
.nav li li li a { /* sub sub menu list */
    background:#F36F25;
}
.nav li li li.hover a { /* sub sub menu list hover */
    background:#666666;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

so the sub menu should have #F36F25 background and #666666 hover background

and the sub sub menu should have #F36F25 background and #666666 hover background

解决方案

Updated answer here

http://jsfiddle.net/UY7z4/19/

.nav > li > ul > li.hover > a { /* sub menu list hover */
    background:#666666;
}
.nav > li > ul > li.hover > ul > li { /* sub sub menu list hover */
    background:#F36F25;
}
.nav > li > ul > li.hover > ul > li:hover a {
    background:#666;
    color:#ffffff;
    z-index:200;
    border-top: 1px solid #ffffff;
}

这篇关于更改CSS菜单悬停颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆