更改CSS菜单悬停颜色 [英] Change CSS Menu hover colours
本文介绍了更改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
悬停背景
解决方案
此处更新了答案
.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
.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屋!
查看全文