如何将线性渐变放置在 css 中的 img 元素上

问题描述 投票:0回答:1

我尝试了很多方法在图像元素上放置线性渐变,但当我尝试时没有任何效果!

我尝试使用 z-index 并询问聊天 gpt,但两者都没有帮助。你能帮我解释一下为什么之前不起作用吗?

div {
  background: linear-gradient(180deg, black, transparent);
  width: 100%;
  height: 1000px;
  z-index: 2;
}

img {
  z-index: 1;
}
<!DOCTYPE HTML>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial- 
 scale=1.0">
  <title>Document</title>
</head>

<body>
  <div class="mydiv">
    <img src="https://images.pexels.com/photos/255379/pexels-photo-255379.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1">
  </div>
</body>

</html>

html css visual-web-developer
1个回答
0
投票

刚刚稍微编辑了您的示例。您需要将图像移到 div 之外,并将 div 放置在图像上方。使用下面的示例并根据需要进行修改。

 div{
            background: linear-gradient(180deg, black, transparent
            );
            width: 200px;
            height: 200px;
            z-index: 2;
            position: absolute;
            top: 0px;
            left: 0px;
        }
        img{
             width: 200px;
             height: 200px;
             z-index: 1;
             position: absolute;
             top: 0px;
             left: 0px;
        }
<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial- 
 scale=1.0">
    <title>Document</title>
</head>
<body>
    <img src="https://images.pexels.com/photos/255379/pexels-photo-255379.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1">
    <div class=“mydiv”></div>
</body>
</html>

© www.soinside.com 2019 - 2024. All rights reserved.