问题描述
你好,我现在面临从不同元素内部控制元素的问题。 例如,如果我想通过将鼠标悬停在 header 中的另一个元素上来控制页脚内元素的外观。 我希望你能得到答案并提前致谢
解决方法
一种方法是,例如,如果您有一个带有链接的 li,并且您想在将鼠标悬停在 li 上时更改链接的颜色,您可以这样做:
ul li:hover a {
color: green;
}
/* only for presentation */
ul li {
width: 100px;
height: 50px;
box-shadow: 2px 2px 2px 1px rgba(0,0.2);
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
<ul>
<li>
<a href="#">Link</a>
</li>
</ul>
如果你想像你所说的那样影响完全随机的元素,你可以这样做:
/* ----- This is all extra styling ----- */
body {
background-color: #121212;
}
.header {
position: fixed;
background-color: rgb(31,33,34);
width: 100%;
color: white;
font-family: arial;
text-align: center;
}
.footer {
position: absolute;
top: 90%;
background-color: rgb(31,34);
width: 100%;
color: white;
font-family: arial;
text-align: center;
}
/* ----- This is all extra styling ----- */
.header:hover + .footer {
background-color: red;
}
<!DOCTYPE html>
<html>
<head>
<!-- Meta tags and what not -->
</head>
<body>
<div class="header">
<!--Header stuff here-->
<h2>My Website</h2>
</div>
<!--In this case the footer and header must be exactly next to eachother for the + to work-->
<div class="footer">
<h4>Hover on the header to change my color</h4>
</div>
<!--This could be whatever you want the page content to be-->
<main>
</main>
</body>
</html>