我正在尝试更改下拉菜单元素的颜色。下拉列表使用以下HTML:
<div class="btn-group">
<a class="btn">Confirm</a>
<a href="#" id="drop_thought" role="button" class="dropdown-toggle btn white-text" data-toggle="dropdown">v</a>
<ul class="dropdown-menu white-text" id="tools_drop" role="menu" aria- labelledby="drop_thought">
<li><a class="btn btn-success white-text">Okay</a></li>
<li><a class="btn btn-warning">Unload</a></li>
<li><a class="btn btn-danger">Quarantine</a></li>
<li class="divider"></li>
<li><a class="btn btn-primary">Permanent</a></li>
</ul>
</div>
我删除了ID以便于阅读。
我创建了一个类似以下的CSS类:
.white-text {
color: #FFFFFF; !important
}
我认为!important
会自动使Okay变成白色,但它仍然是黑色的。我在Chrome的开发者控制台下查看了带有<li><a>...</a></li>
的随附white-text
元素,似乎.dropdown-menu a
是它继承的类。出于某种原因,我的white-text
会被忽略,并且会有通过。
使用以下CSS,我可以将文本颜色更改为白色,但我在其他地方使用下拉菜单,所以我不能使用它:
.dropdown-menu a{
color: #FFFFFF; !important
}
以下是根据Chrome的继承链:
.dropdown-menu li > a:hover, .dropdown-menu li > a:focus, .dropdown-submenu:hover > a - #ffffff
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] - #ffffff
.btn:hover - #333333
.btn:hover, .btn:active, .btn.active, .btn.disabled, .btn[disabled] - #333333 .dropdown-menu a - #333333
a:hover - #005580
.white-text - #FFFFFF
.btn-success - #ffffff
.btn - #333333
a - #0088cc
.white-text - #FFFFFF
body - #333333
答案 0 :(得分:11)
分号在!important之后,否则它将不包含在该属性中(CSS不处理空格/返回)。
正确使用:
.dropdown-menu a{
color: #FFFFFF !important;
}
http://css-tricks.com/when-using-important-is-the-right-choice/