- 此问题在此处已有答案**:
(29个答案)
(9个答案)
4天前关闭。
我有一些像这样的超文本链接-
<div class="parentdiv">
<div class="div1"></div>
<div class="div2"></div>
<div>
如果div2存在,我想将红色应用于div1,否则应用黄色-
.div1 {
color:red;
}
.div1 {
color:yellow;
}
我怎么能只通过CSS来做呢?我知道我们有兄弟选择器,但是没有以前的兄弟选择器,在我的情况下,我正在寻找类似的东西-:has不支持所有的浏览器。
1条答案
按热度按时间khbbv19g1#
我的回答是基于我对你的要求的理解:
.div1
后面跟着.div2
,则.div1
应为红色.div1
应为黄色您可以只使用CSS来实现这一点,但前提是浏览器支持现代的
:has
selector:这将适用于以下任何情况:
请参见下面的概念验证:
一个二个一个一个
如果你不想使用
:has
,你 * 可以 * 使用:only-child
解决方案,但这只在.div1
是元素的ONLY子元素时有效。如果你有任意的DOM元素出现在.div1
之前或之后,这将不起作用: