Css 相同嵌套div悬停效果
我有以下资料: 我怎样才能做到:Css 相同嵌套div悬停效果,css,Css,我有以下资料: 我怎样才能做到: 如果将鼠标悬停在第1行,则只显示第1行的边框 如果将鼠标悬停在第2行,则只显示第2行的边框,而不是同时显示这两行 HTML: 你应该给它一个不同的类。您可以选择使用JavaScript来检测悬停的元素,但我不建议这样做 你可以试试 .container > .box > .box:hover 您需要为它们提供两个不同的CSS类。由于两个Div使用相同的class=“box”,因此将在两个Div上触发.box:hover命令 对于css,您可以将
- 如果将鼠标悬停在
,则只显示第1行
第1行的边框
- 如果将鼠标悬停在
,则只显示第2行
的边框,而不是同时显示这两行第2行
你应该给它一个不同的类。您可以选择使用JavaScript来检测悬停的元素,但我不建议这样做 你可以试试
.container > .box > .box:hover
您需要为它们提供两个不同的CSS类。由于两个Div使用相同的
class=“box”
,因此将在两个Div上触发.box:hover
命令
对于css,您可以将其设置为只有内部的.box
类才能获得hover命令:
.box.box:悬停{
边框颜色:红色;}
解决方案:已更新:
基本上,没有一个简单的方法。可以说,你得假装一下。请参阅下面的代码:
HTML:
这使得box2通过使用相对定位“看起来”是box1的子代,而实际上,box1不是box2的父代,而是兄弟姐妹。如果所有类必须相同(如标题所示),那么这在纯CSS中不完全是可能的
所有当前答案仅针对答案的部分。。但是如果您坚持,这里有一个jQuery解决方案——所有元素都具有相同的类,尽管我建议您重命名它们,并完全避免jQuery
尽管如此,这里有一个解决方案,不要求更改类名:
-适用于所有级别
$(".box").children().hover(function () {
$(this).parent().css("border-color", "grey");
$(this).css("border-color", "red");
}, function () {
$(this).parent().css("border-color", "");
$(this).css("border-color", "");
});
但是,如果您将鼠标悬停在
第1行
以外的第2行,则第1行
将获得颜色?您不能仅使用css,因为您总是在父分区上。。。有了css,如果我只有一个孩子,你就不能向父母求助,也不能设置停止。一个很好的方法是使用jquery。首先必须导入jquery库,然后才能使用hover
函数。我想我的问题还不清楚。我编辑了原始帖子,以便更容易理解我需要什么。我想我的问题不清楚。我编辑了原始帖子,以便更容易理解我需要什么。我想我的问题不清楚。我编辑了原始帖子,以便更容易理解我需要什么。
.container > .box > .box:hover
<div class="container">
<div class="box1">
Line 1.
</div>
<div class="box2">
Line 2.
</div>
</div>
.container {
height:50px;
padding:50px;
}
.container:hover {
}
.box2 {
height:50px;
width:75%;
border:2px solid black;
position: relative;
top: -110px;
}
.box2:hover {
border:2px solid red;
}
.box1{
position: relative;
height:50px;
padding: 20px 20px 40px 20px;
top: -50px;
left: -50px;
border:2px solid black;
}
.box1:hover{
border:2px solid blue;
}
$(".box").children().hover(function () {
$(this).parent().css("border-color", "grey");
$(this).css("border-color", "red");
}, function () {
$(this).parent().css("border-color", "");
$(this).css("border-color", "");
});