Html 仅CSS-使第一个元素在以下情况下更改颜色:悬停在任何兄弟上
我想要只使用CSS的解决方案 我们这里有三个圆圈 每当我在类名为Mycircle的圆上执行鼠标操作时,类名为BigCircle的圆应该变为红色 html 这是演示>Html 仅CSS-使第一个元素在以下情况下更改颜色:悬停在任何兄弟上,html,css,Html,Css,我想要只使用CSS的解决方案 我们这里有三个圆圈 每当我在类名为Mycircle的圆上执行鼠标操作时,类名为BigCircle的圆应该变为红色 html 这是演示> 提前感谢不。仅使用css是不可能的。css中没有“任何同级”选择器 然而,若您可以将BigCircle移动到末尾,那个么您可以使用通用同级组合器来选择后续同级 .mycircle:hover ~ .BigCircle{background:red} 不,仅仅使用css是不可能的。css中没有“任何同级”选择器 然而,若您可以将Bi
提前感谢不。仅使用css是不可能的。css中没有“任何同级”选择器 然而,若您可以将BigCircle移动到末尾,那个么您可以使用通用同级组合器来选择后续同级
.mycircle:hover ~ .BigCircle{background:red}
不,仅仅使用css是不可能的。css中没有“任何同级”选择器 然而,若您可以将BigCircle移动到末尾,那个么您可以使用通用同级组合器来选择后续同级
.mycircle:hover ~ .BigCircle{background:red}
在注释中,您声明不能重新排列元素,但可以根据需要添加元素 因此,接受答案中的一般同级组合器不适合作为
.bigcirle
元素,它必须位于所有.myCircle
元素之后
仅使用CSS无法实现这一点,但可以通过添加“父”元素并使用以下CSS解决方案之一来实现:
解决方案1
将鼠标悬停在父元素上时,.bigCircle
子元素将变为红色:
工作示例:
HTML
此解决方案的问题是,当您将鼠标悬停在父对象上的任何位置时,.bigCircle
元素将变为红色,而不仅仅是在.myCircle
上。添加浮点数会减少这种效果-但是如果您将鼠标悬停在圆圈的正外部,则.bigCircle
仍将是红色
解决方案2
将父元素用作相对容器,当.myCircle
元素悬停在上方时,我们可以使用after
伪选择器向页面添加新元素:
工作示例
HTML
此解决方案的缺陷在于,我们的目标是父元素的第一个子元素的位置,而不是类名为.bigcirle
的元素。此外,IE7中不支持之后的伪选择器。在注释中,您声明无法重新排列元素,但可以根据需要添加元素
因此,接受答案中的一般同级组合器不适合作为.bigcirle
元素,它必须位于所有.myCircle
元素之后
仅使用CSS无法实现这一点,但可以通过添加“父”元素并使用以下CSS解决方案之一来实现:
解决方案1
将鼠标悬停在父元素上时,.bigCircle
子元素将变为红色:
工作示例:
HTML
此解决方案的问题是,当您将鼠标悬停在父对象上的任何位置时,.bigCircle
元素将变为红色,而不仅仅是在.myCircle
上。添加浮点数会减少这种效果-但是如果您将鼠标悬停在圆圈的正外部,则.bigCircle
仍将是红色
解决方案2
将父元素用作相对容器,当.myCircle
元素悬停在上方时,我们可以使用after
伪选择器向页面添加新元素:
工作示例
HTML
此解决方案的缺陷在于,我们的目标是父元素的第一个子元素的位置,而不是类名为.bigcirle
的元素。此外,IE7中不支持after
伪选择器。能否修改HTML中div
的顺序?我的意思是,你是在寻找一个没有改变标记的纯CSS解决方案吗?如果加价可以改变,你可以试试。@Harry不。。我想要相同的顺序,但是如果你想要的话,你可以添加一些html元素see@AndréSantos谢谢兄弟能修改html中div
的顺序吗?我的意思是,你是在寻找一个没有改变标记的纯CSS解决方案吗?如果加价可以改变,你可以试试。@Harry不。。我想要相同的订单,但是如果你想要,你可以添加一些html元素see@AndréSantos谢谢兄弟,我需要与我发送相同的订单。我需要相同的标记,但你可以通过添加额外的html元素来完成吗?我需要与发送相同的顺序。我需要相同的标记,但是你能通过添加额外的html元素来实现吗
.mycircle:hover ~ .BigCircle{background:red}
<div class="parent">
<div class="bigCircle"></div>
<div class="mycircle"></div>
<div class="mycircle"></div>
</div>
/* Add float to parent to fit width to content */
.parent {
float: left;
clear: both;
}
.parent:hover > .bigCircle{
background: red;
}
<div class="parent">
<div class="mycircle"></div>
<div class="mycircle"></div>
<div class="mycircle"></div>
</div>
/* replaced .bigCircle with mycircle:hover::after */
.mycircle, .mycircle:hover::after {
....
}
.parent {
position: relative;
}
.mycircle:hover::after {
content: "";
background-color: red;
position: absolute;
top: 0;
left: 0;
margin-top: 0;
}