【问题标题】:style parent based on child conditions with CSS [duplicate]基于子条件与 CSS 样式父 [重复]
【发布时间】:2014-12-11 06:03:11
【问题描述】:

我的块父元素至少有一个内联块子元素,它可能满足也可能不满足特定条件。我想为父设置样式以突出显示特定子类型的存在(下面是“特殊”类):

<parent>
    <child class="normal">Text</child>
</parent>
<parent>
    <child class="special">Text</child>
</parent>

通常,这不是问题,因为我只需通过 JavaScript 在父级上放置一个等效类。但是,在这种情况下,我正在为 Firefox 插件 Stylish 编写样式表,因此我没有 JavaScript DOM 访问权限,只能使用预先存在的内容。我在网上找到的假设解决方案包括:

parent < child.special {/*style*/}
parent! > child.special {/*style*/}
parent:has(child.special) {/*style*/}

然而,我能找到的关于这个问题的最新信息是 2013 年或更早的,而且似乎上述所有方法都不再是 CSS 规范的一部分(或者至少在 Firefox v32.0 中不起作用.x)。

如果有人能提供这方面的指导(即使只是告诉我无法做到),我将不胜感激。请记住,它只需要在 Firefox 中工作,所以即使它是一个“-moz”解决方案,我也会接受它。我知道升序与级联样式表的目的背道而驰,并且在大多数情况下形式不佳,但我目前的情况要求这样做。

【问题讨论】:

  • 这些选择器用于 jQuery,而不是标准 CSS。 CSS 没有选择器可以做你想做的事情。

标签: html css parent-child


【解决方案1】:

standard set 中还没有这样的选择器。

你现在唯一能用的是这个:

parent:empty { /*style*/ }

【讨论】:

  • 感谢您的回复!但是,这行不通,因为我总是有孩子,只是哪种类型的问题。
【解决方案2】:

不,目前无法完成。请参阅Mozilla's own documentation,因为您正在寻求仅适用于 FireFox 的解决方案。

【讨论】:

    猜你喜欢
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多