当前位置: 首页 > 面试题库 >

parent/ancestor 元素的CSS否定伪类:not()

富凯风
2023-03-14
问题内容

这让我发疯:

HTML:

<div><h1>Hello World!</h1></div>

CSS:

*:not(div) h1 { color: #900; }

这不是读到“选择所有h1祖先不是div元素的元素吗?”。因此,“ Hello World!” 不应显示为红色,但仍然是。

对于上述标记,添加子组合器的工作原理是:

*:not(div) > h1 { color: #900; }

但是,h1如果它不是div元素的子元素,则不会影响元素。例如:

<div><article><h1>Hello World!</h1></article></div>

这就是为什么我想将h1元素表示为元素的后代而不是子div元素。任何人?


问题答案:

这不是读到“选择所有h1祖先不是div元素的元素吗?”。

是的 但是在典型的HTML文档中, 每个 h1人至少都有两个不是div元素的祖先,而这些祖先就是bodyand html

这是尝试使用:not()以下方法过滤祖先的问题:只是无法可靠地工作,特别是当:not()不能被其他选择器(例如类型选择器或类选择器)限定时.foo:not(div)。只需将样式应用于所有h1元素并使用覆盖它们,您将拥有更加轻松的时间div h1

在选择器4中,:not()已进行增强,可以接受包含组合器(包括后代组合器)的完整复杂选择器。是否在快速配置文件中实现(从而在CSS中实现)仍待测试和确认,但是一旦实现,您_将_ 能够使用它来排除具有某些祖先的元素。由于选择器的工作方式,必须对元素本身(而不是祖先)进行取反才能可靠地工作,因此语法看起来会有些不同:

h1:not(div h1) { color: #900; }

任何熟悉jQuery的人都会很快指出,该选择器现在可以在jQuery中使用。这是选择器3:not()与jQuery之间的众多差异之一,选择:not()器4试图纠正这一差异



 类似资料:
  • 问题内容: 这让我发疯: HTML: CSS: 这不是读到“选择所有祖先不是元素的元素吗?”。因此,“ Hello World!” 不应显示为红色,但仍然是。 对于上述标记,添加子组合器的工作原理是: 但是,如果它不是元素的子元素,则不会影响元素。例如: 这就是为什么我想将元素表示为元素的后代而不是子元素。任何人? 问题答案: 这不是读到“选择所有祖先不是元素的元素吗?”。 是的 但是在一个典型的

  • 主要内容:1. ::after,2. ::before,3. ::first-letter,4. ::first-line,5. ::selection,6. ::placeholder伪元素是一个附加在选择器末尾的关键词,通过伪元素您不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪元素您可以设置段落中第一个字母的样式,或者在元素之前、之后插入一些内容等等。 在 CSS1 和 CSS2 中,伪元素的使用与伪类相同,都是使一个冒号 与选择器相连。但在 C

  • CSS伪元素是用来添加一些选择器的特殊效果。 语法 伪元素的语法:selector:pseudo-element {property:value;} CSS类也可以使用伪元素:selector.class:pseudo-element {property:value;} :first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式。 在下面的例子中,浏览器会根据 "

  • 问题内容: 我正在构建React组件。正如React背后的一位专家在本次精彩的演讲中所建议的那样,我已经在组件中添加了CSS内联。我一直在努力寻找一种方法来内联添加CSS伪类,就像在演示文稿中名为“ :: after”的幻灯片上一样。不幸的是,我不仅需要添加该属性,还需要添加该属性。幻灯片显示了如何通过添加内容,但是如何添加其他属性? 问题答案: 得到了@Vjeux在React团队的回复: 普通H

  • 什么是伪元素 让我们先看看W3的伪元素官方定义: 伪元素用来创建HTML文档语言指定之外文档树的抽象层。比如HTML没有提供文档元素内容的首字母或第一行的访问机制。CSS伪元素允许作者引用这些除此之外无法访问的信息。伪元素还提供一种方法来引用不存在于文档中的内容。(比如,::before 和 ::after )。 一个伪元素由2个冒号(::)加上伪元素的名字所定义。 :: 标记是CSS2.1新规范

  • 主要内容:1、first-child,2、last-child,3、nth-​​child伪类是 W3C 制定的一套选择器的特殊状态,通过伪类您可以设置元素的动态状态,例如悬停(hover)、点击(active)以及文档中不能通过其它选择器选择的元素(这些元素没有 ID 或 class 属性),例如第一个子元素(first-child)或者最后一个子元素(last-child)。 伪类的名称不区分大小写,但需要以冒号 开头。另外,伪类需要与 CSS 中的选择器结合使用,语法格式如下: