有什么方法可以将鼠标悬停在一个元素上并影响另一个元素?[重复]

悬停一个元素时如何影响其他元素 (6个答案)

5年前关闭。

我希望它像这样简单,但是我知道不是这样的:

img {

opacity: 0.4;

filter: alpha(opacity=40);

}

img:hover {

#thisElement {

opacity: 0.3;

filter: alpha(opacity=30);

}

opacity:1;

filter:alpha(opacity=100);

}

因此,当您将鼠标悬停在img上时,它将#thisElement的不透明度更改为30%,并将图像的不透明度更改为100%。有没有办法仅使用CSS实际执行此操作?

这就是HTML

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript" src="C:\Users\Shikamaru\Documents\Contwined Coding\LearningToCode\Learning jQuery\js\jquery-1.6.2.min.js"></script>

<script type="text/javascript" src="briefcase.js"></script>

<link rel="stylesheet" type="text/css" href="taskbar.css"/>

<link rel="stylesheet" type="text/css" href="briefcase.css" />

<title>Briefcase</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<div class="mask"></div>

<div class="float">

<div id="album1">Album Title</div>

<img class="left" src="bradBeachHeart.JPG" alt="Brad at the Lake" />

<img class="left" src="mariaNavi.jpg" alt="Making Maria Na'vi" />

<img class="left" src="mattWaterRun.jpg" alt="Photoshopped Matt" />

</div>

<div class="gradientTop"></div>

<div class="gradientBottom"></div>

</body>

</html>

这是CSS:

body {

font: normal small/3em helvetica, sans-serif;

text-align: left;

letter-spacing: 2px;

font-size: 16px;

margin: 0;

padding: 0;

}

div.gradientTop {

position: absolute;

margin-top: 5px;

z-index: 2;

width: 206px;

height: 30px;

float: left;

background: -webkit-linear-gradient(rgba(255, 255, 255, 2), rgba(255, 255, 255, 0))

}

div.gradientBottom {

position: absolute;

margin-bottom: 5px;

z-index: 2;

width: 206px;

height: 120px;

float: left;

bottom: -210px;

background: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1))

}

div.float {

border-right: 1px solid orange;

position: absolute;

z-index: 2;

margin-left: 5px;

margin-top: 5px;

float: left;

width: 200px;

}

div.mask {

position: relative;

z-index: 1;

margin-top: 5px;

float: left;

width: 206px;

height: 805px;

background-color: white;

}

img.left {

z-index: inherit;

margin-bottom: 3px;

float: left;

width: 200px;

min-height: 200px;

/* for modern browsers */

height: auto !important;

/* for modern browsers */

height: 200px;

/* for IE5.x and IE6 */

opacity: 0.4;

filter: alpha(opacity=40)

}

img.left:hover + #album1 {

opacity: .4;

}

img.left:hover {

opacity: 1.0;

}

#album1 {

z-index: 2;

width: 200px;

color: white;

text-align: center;

position: absolute;

background: orange;

top: 70px;

}

回答:

使用CSS的唯一方法是,要影响的元素是后代还是相邻的同级元素。

对于后代:

#parent_element:hover #child_element, /* or */

#parent_element:hover > #child_element {

opacity: 0.3;

}

这将适用于以下元素:

<div id="parent_element">

<div id="child_element">Content</div>

</div>

对于相邻的兄弟姐妹:

#first_sibling:hover + #second_sibling {

opacity: 0.3;

}

哪个适用于标记,例如:

<div id="first_sibling">Some content in the first sibling</div> <div id="second_sibling">and now in the second</div>

在这两种情况下,选择器中的后一个元素都是所选元素。

给定您的伪代码示例,您可能想要类似以下内容:

img:hover + img {

opacity: 0.3;

color: red;

}

JS小提琴演示。

以上是 有什么方法可以将鼠标悬停在一个元素上并影响另一个元素?[重复] 的全部内容, 来源链接: utcz.com/qa/398583.html

回到顶部