悬停不适用于背景图像



>我有一个带有背景图像的网站,但是当我添加css导航栏时,悬停标签不起作用。 悬停元素适用于背景图像,但是当我添加背景图像时,它会发送

这是我的代码

.html

<!DOCTYPE html>
<html>
<head>
    <title>Cool</title>
    <link href="stylesheet.css" "type= "text/css" rel= "stylesheet">
    <link rel="icon" type="image/png" href="icon2.jpg"/>
</head>
<body>
    <div id="background-image">
    <div id="background-overlay">
    <h1>Cool</h1>
            <h2>Vertical Navigation Bar</h2>
            <ul>
            <li><a href="#home">Home</a></li>
            <li><a href="#news">News</a></li>
            <li><a href="#contact">Contact</a></li>
            <li><a href="#about">About</a></li>
            </ul>
            <p>hi</p>
    </div>
    </div>  
</body>
</html>

.CSS

*{
z-index:-8;
}
body{
margin:0px;
}
#backround-image{
background-image:url("background.jpg");
background-size:cover;
background-position:center center;
position:relative;
top: 0;
bottom :0;
height: 100vh;
z-index: -10;
}
#backround-overlay{
position: absolute;
background-color: rgba(0,0,0,0.5);
top: 0;
bottom: 0;
height: 100%;
width: 100%;
z-index:-9;
}
h1{
text-align:center;
font-family:arial black;

}
l{
float:left;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 200px;
background-color: #f1f1f1;
}
li a {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
/* Change the link color on hover */
li a:hover{
background-color: red;
color: black;
}

感谢您的任何帮助

托马斯

如果删除位置:相对; 从背景图像中,问题已解决,不会引起任何奇怪。目前,这似乎是不必要的样式。

如果元素之前已经有背景,则悬停似乎不适用于元素背景。但是,如果要更改元素的背景,可以通过更改其亮度,色调,饱和度来实现。下面是一个示例:

          li a:hover {
             filter: brightness(50%);
          }             

最简单的方法:

`background-blend-mode: color-burn;`

最新更新