我很难理解如何在CSS中完成这个简单的任务。
以下是基本的HTML代码:
<div class="menu">
<div class="menuItem uno"><a href="/one.php">1<span>One</span></a></div>
<div class="menuItem dos"><a href="/two.php">2<span>Two</span></a></div>
</div>
我正在尝试更改a:
(超链接)的css格式,但只有当它们位于此menu
类内时才会这样:
a {
color: #000000;
text-decoration: none;
}
被绕过。
我的css文件中有.menu
:
.menu {
position: fixed;
padding-top: 15px;
etc...
}
然后我有
.menu a:active, a:hover, a:link, a:visited {
outline: 0;
color: #fff;
text-decoration: none;
}
这对我的menu
类内部的链接没有任何作用,但它会影响此menu
div之外的超链接。我的格式错误是什么?
答案 0 :(得分:1)
你想说:
.menu a:active, .menu a:hover, .menu a:link, .menu a:visited {
outline: 0;
color: #fff;
text-decoration: none;
}
逗号分隔列表中的每个选择器都独立存在; .menu
不会适用于该行中的所有内容。
答案 1 :(得分:1)
您需要每次都指定整个选择器。
.menu a:active,
.menu a:hover,
.menu a:link,
.menu a:visited {
outline: 0;
color: #fff;
text-decoration: none;
}
如果您使用的是CSS预处理器,例如LESS,则可以嵌套选择器:
.menu {
a:hover,
a:link,
a:active,
a:visited {
outline: 0;
color: #fff;
text-decoration: none;
}
}
答案 2 :(得分:1)
您必须在底部CSS中的每个锚点选择器前添加.menu
,您现在使用的选择器现在仅在菜单中定位active
锚标记,但它定位于{{页面中的任何位置都有1}},hover
和link
个,因为您没有提供相同的特异性:
visited