【发布时间】:2010-04-09 05:37:14
【问题描述】:
所以我有一个基于 UL 的相当简单的垂直 CSS 菜单。
<ul class="vertnav">
<li><a href="unselected1.php">Item1</a></li>
<li><a href="unselected2.php">Item2</a></li>
<li><a href="selected.php" class="vertnavdown">Selected</a></li>
</ul>
我想要三种基本颜色(比如默认 LI 为棕褐色,VERTNAVDOWN 为橙色,A:HOVER 为红色。但是我似乎无法让 vertnavdown 类继承权,并且 .vertnav li a:visited 每次都会覆盖它. 如果我使用!important 强制它通过,我似乎也无法让悬停工作。
有什么建议吗?我以为我了解 CSS 中的继承,但我想我不了解。
.vertnav{
list-style: none;
margin: 0px;
width: 172px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
text-align: left;
height: 45px;
}
.vertnav li{
margin: 0px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
border-bottom: 0px none;
border-right: 0px none;
border-top: 1px solid #fff;
border-left: 0px none;
text-align: left;
height: 45px;
width: 172px;
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
}
.vertnav li a{
display: block;
text-align: left;
color: #666666;
font-weight: bold;
background-color: #FFEEC1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
text-decoration: none;
padding-top: 10px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 15px;
height: 45px;
}
.vertnav li a:visited{
display: block;
text-align: left;
color: #666666;
background-color: #FFEEC1;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
text-decoration: none;
padding-top: 10px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 15px;
height: 45px;
}
.vertnav li a:hover{
color: white;
background-color: #ffbf0c;
font-family: Verdana, Arial, Helvetica, sans-serif;
height: 45px;
text-decoration: none;
font-weight: bold;
}
.vertnavdown a
{
display:block;
color: #FFF;
background-color: #ff9000;
}
.vertnavdown a:hover
{
background-color: #ffbf0c;
}
^^^^^^^^^^^^^ 编辑添加 CSS。 ^^^^^^
【问题讨论】:
-
听起来问题是规则的特殊性,而不是继承问题。 htmldog.com/guides/cssadvanced/specificity
-
在 shmashing 杂志上也有一篇关于这个主题的好帖子。 smashingmagazine.com/2010/04/07/css-specificity-and-inheritance
标签: css inheritance hover