CSS元素子对象与文本节点的子对象

Qua*_*cal 7 css css-selectors

我有一个元素有一个子元素和另一个元素具有相同的子元素,但也有一个文本节点:

<p><strong>This should be heading</strong></p>
...
<p>There is a sentence that has <strong>strong text</strong> inside it.</p>
Run Code Online (Sandbox Code Playgroud)

我没有能力以任何方式修改DOM结构,包括没有JavaScript.所有我能做的就是编辑CSS,但我想样式内嵌strong不同于strong那是唯一的孩子.

我认为这可行:

p strong:only-child
{
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

但是,这两个项目都变红了.

有没有办法只使用CSS来定位没有文本节点兄弟节点的子节点?

我不认为它可以做到,但我想我会问,以防有一些聪明的解决方法.

Pra*_*een 4

根据我的理解,我认为应该是这样的

p:first-child
{
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle

  • 这假设“p:first-child”将始终包含假标题。不确定它是否成立,特别是在“仅具有子元素的元素与同时具有文本和元素子元素的元素”的上下文中。 (3认同)