【发布时间】:2021-11-09 09:36:02
【问题描述】:
我在搜索什么
在 CSS 中:E ~ F { } 代表前面有一个 E 节点的任何 F 节点。
我正在搜索任何被 F 节点成功的 E 节点
或者换句话说:
我想要E + F {} 之类的东西,但是
- 不是样式
F,而是E - 在
F之前设置所有E
具体问题
我有一个兄弟元素列表。其中一些可能是.selected,其中一个可能是.focused,其中一些可能两者都不是。如果任何兄弟姐妹是.focused,则所有.selected 兄弟姐妹都应该以某种方式设置样式。
示例情况
<row class="selected"> content1</row>
<row class=""> content2</row>
<row class="selected"> content3</row>
<row class="selected focused">content4</row>
<row class=""> content5</row>
<row class="selected"> content6</row>
<row class=""> content7</row>
在这个例子中 content1,3,4,6 应该以某种方式设置样式。
我有 content4 和 6 的解决方案,但我找不到 content1 和 3 的解决方案。
约束:
- 除了 CSS 之外我不能使用其他任何东西
- 我只能使用同级元素
- 这是针对 Gtk 的 CSS,但我想解决方案与通常的 CSS 相同
【问题讨论】:
-
不存在,最终可能。正常的解决方案是向父级添加一个类。
-
我可以从
focused元素in CSS中向父级添加一个临时类吗? -
没有。在纯 CSS 中,元素无法影响将哪些规则应用于树中(在前序遍历意义上)它之前的任何内容。