Html 是否可以选择前面没有文本的元素?
我想要一个CSS选择器,该选择器与以下内容中的Html 是否可以选择前面没有文本的元素?,html,css,css-selectors,Html,Css,Css Selectors,我想要一个CSS选择器,该选择器与以下内容中的匹配: <p><code>foo</code> bar</p> <p>foo <code>bar</code></p> 但不是中的: <p><code>foo</code> bar</p> <p>foo <code>bar</code></p> co
匹配:
<p><code>foo</code> bar</p>
<p>foo <code>bar</code></p>
但不是中的
:
<p><code>foo</code> bar</p>
<p>foo <code>bar</code></p>
code:first child
不起作用。两者都匹配
只是因为我觉得不可能才问
我想在放弃之前我应该给社区一次机会
编辑-人们一直将此标记为重复,因此让我澄清一下:如果当前最重要的答案是正确的,那么您所引用的问题的答案具有相同的根本原因,但这并不意味着它是相同的问题。这两个问题的答案完全有可能不同——或者,如果答案不一样,那么其中的“为什么”只是对这个问题的回答,而不是对那个问题的回答。你的段落中有两个要素
<code>bar</code>
及
直接包含在块容器元素中的任何文本都必须视为匿名内联元素
此类匿名内联框从其块父框继承可继承的特性
选择器不区分作为其父节点的唯一子节点的唯一子元素和具有一个或多个同级文本节点的唯一子元素。在这两种情况下,子元素都将匹配:only child
;在后一种情况下,文本节点并不重要。您可以将剩余的文本包装在一个范围内,如下所示:foobar
?然后你的选择码:第一个孩子就可以了。我想这就是问题的关键所在,不要这样做。如果你想包装它,那么你可以做一个:最后一个类型
。但这不是问题所在。我认为用纯CSS是不可能的。可能是@deadfishli的重复是的,这很有效,但我想问是否有一种解决方案不会扰乱HTML。