html - 为什么 div 的背景颜色不能按照一般的 css 规则工作?
问题描述
我正在做一个实验......这个实验有两个 div,每个都有相同的两个类,但它们的位置被交换了。根据一般 css 规则,css 效果仅适用于最后一个用户定义的类。
所以这是我的代码:
.green {
background: green;
height: 20px;
}
.red {
background: red;
height: 20px;
}
<div class="green red"></div>
<br>
<div class="red green"></div>
所以根据规则...在第一个 div 中,.red 类应该占主导地位,在第二个 div 中,.green 类应该占主导地位...但是当我运行代码时,两个 div 都是红色的。其中第一个 div 应该是红色,第二个 div 应该是绿色。有人可以解释一下吗?
解决方案
根据 W3C 设置的规范,类的顺序不影响优先级。如果两个规则为同一元素定义了相同的属性,则应用最后定义的规则。
在您的示例中,background:red
紧随其后background:green
,因此background:red
优先。
请参阅项目上列出的类的顺序是否会影响 CSS?了解更多信息。
推荐阅读
- html - 如何让一个孩子以两个轴为中心,其他孩子围绕它?
- django - Django Formset 问题 - POST 似乎不起作用
- android - 自定义按钮样式出现在预览中,但不在设备上
- php - 无法在 ubuntu 中安装和运行 mysqlnd_ms
- dataset - 有没有办法直接将数据集从某个网站上传到合作实验室?
- python - 将普通 Python 脚本转换为 REST API
- html - 如何在保持页脚的同时将 flex 容器定位为垂直和水平对齐?
- javascript - 防止 d3.js 在 x 轴上多次显示相同的日期
- vba - 用于调整 Outlook 邮件中附加图像大小的宏
- odata - 收到“oModel.read 不是函数”错误