gpt4 book ai didi

css - 选择类(class)的家长

转载 作者:行者123 更新时间:2023-11-28 08:51:50 26 4
gpt4 key购买 nike

<!DOCTYPE html>
<html>
<head>
<style>
.filter ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}

.filter li {
float: left;
}

.filter a:link, .filter a:visited {
display: block;
width: 120px;
font-weight: bold;
color: #FFFFFF;
background-color: #98bf21;
text-align: center;
padding: 4px;
text-decoration: none;
text-transform: uppercase;
}

.filter a:hover, .filter a:active {
background-color: #7A991A;
}

.active{

background: red;
}
</style>
</head>
<body>
<div class="filter">
<ul>
<li><a href="#home" class="active">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</div>

</body>
</html>

如何为 <a> 添加红色背景带有“事件”类的标签?当前代码适用于边框(某种程度上)但不适用于背景。

最佳答案

我喜欢这个问题,因为它揭示了关于 css 的一个有趣的事情。

首先

这样做

.filter a:hover, .filter a:active {
background-color: #7A991A;
}

.filter a.active {
background: red;
}

问题

css 选择器实际上是按重要性“确定优先级”的,这就是问题所在; css 不在乎您尝试覆盖是在初始样式之后...它认为 .filter a:hover 等更重要,因此声明被忽略。

这是因为每个选择器都有一个“等级”,它根据分数系统确定其重要性。准确地说,按重要性排序:

  • 1000 点内联样式
  • 100 点 #ids
  • 10 分 .classes、:pseudo-selectors 和属性选择器
  • 1 点 标签和伪元素,如:first-line、body 和 keygen

所以,.filter a:hover10 + 1 + 10 = 21.active 仅为 10 .

警告:它也有一些怪癖。例如,100 个 .classes 仍然不如单个 #id

关于css - 选择类(class)的家长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27309096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com