html - :not CSS 选择器不适用于跨度内的跨度类
问题描述
我在这里遇到了一个非常直接的问题。:not 选择器不适用于归因于另一个跨度内的跨度的类(无空格)。但是,当 spaceless 类位于其父 div 中时,:not 属性有效。
这是我的代码:
HTML:
<span class = "darken">
<span class = "spaceless">
Test1
</span>
Test2
</span>
CSS:
.darken {
background: #AAA;
}
.darken:not(.spaceless) {
color: #FFF;
}
输出:Test1 和 Test2 都有颜色:#FFF,并且都有背景:#AAA。为什么 Test1 有颜色:#FFF 考虑到它的无空间类(:not 选择器应该排除)?这对我来说没有意义。即使在 Fiddle 中,此代码也不起作用。有谁知道为什么以及如何解决它?我将不胜感激任何帮助!
解决方案
它们都有颜色#fff
,这可能是由于您的其他代码没有,但这里也是一个参考
选择:not
器无法按您期望的方式工作。什么
.darken:not(.spaceless)
意味着它是否匹配
<div class="darken">
它不匹配
<div class="darken spaceless">
所以预期的行为是它们都会有颜色#fff
,因为:not()
选择器的一部分根本没有做任何事情,内部元素从元素继承.darken
颜色
推荐阅读
- android - Android Studio 不接受“this”作为 OnRefreshListener 中的 LoaderCallBack 参数
- html - 在 vw 中设置 CSS / font-size,用户尝试缩放网站
- php - 从 php 文件执行脚本
- assembly - 存储两位数的用户输入
- angular6 - 无法读取未定义的属性“loadChildren”中的错误
- c# - Linq 的 IEnumerable.Select 是否返回对原始 IEnumerable 的引用?
- sql - 左外连接并不总是匹配
- vue.js - 输入框自动更改为原始值
- jupyter-notebook - Python Markdown 代码未在输出中编译
- powerquery - Power Query,逐行计算下 3 个值的总和