css - 对嵌套在 CSS 中的 ID 中的类感到困惑
问题描述
我试图找出为什么我的 id 在选择文本颜色时不会击败我的班级。我以为我的 id 会击败嵌套在其中的所有内容?我必须做 #id .class {} 来改变颜色。我只是想了解这里发生了什么,以便更好地了解选择器的工作原理。
这是我的html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- links and scripts -->
<link rel="stylesheet" href="style.css">
<!-- links and scripts -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS</title>
</head>
<body>
<header style="background-color: green; color: red;">
<nav>
<ul>
<li>Home</li>
<li><a href="about.html">About</a></li>
<li><a href="login.html">Login</a></li>
</ul>
</nav>
</header>
<section>
<h1>Hello</h1>
<div id="div1">
<p class="backi">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente quisquam necessitatibus, tempora id voluptatum rerum minima dolorum voluptatem ut quo architecto laudantium aspernatur nisi eaque amet aut! Fuga, distinctio illo.</p>
<p class="class">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente quisquam necessitatibus, tempora id voluptatum rerum minima dolorum voluptatem ut quo architecto laudantium aspernatur nisi eaque amet aut! Fuga, distinctio illo.</p>
<p class="ruu">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente quisquam necessitatibus, tempora id voluptatum rerum minima dolorum voluptatem ut quo architecto laudantium aspernatur nisi eaque amet aut! Fuga, distinctio illo.</p>
<p class="class">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente quisquam necessitatibus, tempora id voluptatum rerum minima dolorum voluptatem ut quo architecto laudantium aspernatur nisi eaque amet aut! Fuga, distinctio illo.</p>
</div>
</section>
</body>
</html>
这是我的CSS代码:
/*
selctor {
property: val;
}
*/
body {
background-image: url(https://htmlcolorcodes.com/assets/images/html-color-codes-color-tutorials-hero-00e10b1f.jpg);
background-size: cover;
}
h1, p {
color: white;
text-align: center;
border: solid 2px blue;
cursor: default;
}
/* p {
color: purple;
} */
li {
list-style: none;
display: inline-block;
}
.class {
color: green;
border: none;
}
.backi {
color: red;
}
.ruu {
color: yellow;
}
#div1 {
background-color: rgb(255, 192, 203, .4);
color: black;
border: none;
}
如您所见,我在 .css 上的代码行是一个 ID,但在我的网站上,它仍然显示代码中上一个类的属性。有人可以解释为什么我必须在这里做“元素元素”而不是 ID 压倒类。
解决方案
该类将覆盖任何 ID 样式,因为特定元素上的类比定位其父元素更具体。backi
例如,该类将覆盖来自 ID 的规则,因为color
元素上的类比 的父级的ID更具体。div1
backi
div1
backi
https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
推荐阅读
- amazon-web-services - AWS 更新后重新部署 docker
- python - 如何编写自己的油门速率限制
- json - 如何在 React 中使用 useEffect hook 和 async/await 检索嵌套的 JSON 数据
- c# - Magick.net 崩溃但不会在 Windows 中引发任何错误
- cmake - 没有使用 Cmake protobuf 制作目标的规则
- google-maps - 命名地理特征
- javascript - 如何设置需要浏览器“窗口”变量的状态
- python - Python/flask 确保传入一个值
- python - Python-处理队列输出的If语句未正确处理所有输出
- sql - 如何从表中选择*并按单列分组