我想要一个与'infeasible'
匹配的CSS选择器:
<code>
但不是<p><code>foo</code> bar</p>
:
<code>
<p>foo <code>bar</code></p>
不起作用。它匹配两者。
只是因为我不认为这是可能的。
我想我会在放弃之前给社区一个机会。
编辑 - 人们一直将此标记为重复,所以让我明确一下:如果当前的最佳答案是正确的,那么您引用的问题的答案具有相同的根本原因,但是没有提出同样的问题。这两个问题的答案完全有可能不同 - 或者如果不是这样,那么“为什么”只能回答这个问题,而不是那个问题。
答案 0 :(得分:3)
您的段落中有两个元素。
<code>bar</code>
和
<anonymous-inline-box>foo</anonymous-inline-box>
匿名内联元素是自动生成的,无法通过CSS进行定位。因此,无法相对于文本节点将样式应用于code
元素。
如果无法将文本包装在实际元素中,请尝试使用JavaScript。
以下是规范中的更多细节:
9.2.2.1 Anonymous inline boxes
任何直接包含在块容器元素中的文本都必须被视为匿名内联元素。
此类匿名内联框从其块父框中继承可继承属性。
答案 1 :(得分:0)
选择器不区分唯一的子元素,该子元素是其父元素的唯一子元素节点,也是唯一具有一个或多个兄弟文本节点的子元素。在这两种情况下,子元素都将匹配:only-child
;在后一种情况下,文本节点并不重要。