我需要使给定图像的一半变暗。我知道这里可以在CSS中使用渐变,但是我不知道如何适当地使用它。
以下是HTML代码:
<div>
<img class="another_image" src="img/file1.jpg" alt="file1">
</div>
这是CSS代码:
.another_image{
margin-bottom: 20px;
display: block;
margin-left: auto;
margin-right: auto;]
}
答案 0 :(得分:3)
您可以对背景图像应用渐变
.grad {
display: inline-block;
height: 300px;
width: 300px;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%), url('http://placekitten.com/300/300') no-repeat;
}
<div class="grad">
</div>
<img src="http://placekitten.com/300/300" />
答案 1 :(得分:3)
您可以在具有背景渐变的容器上使用:: after伪元素。这是一个小提琴https://jsfiddle.net/qcw6u7ze/1/
<div class="imgWrap">
<img src="https://placehold.it/350x200">
</div>
.imgWrap {
position: relative;
display: inline-block;
}
.imgWrap::after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(0,0,0,1)
100%);
}
答案 2 :(得分:1)
查看以下问题:How do I combine a background-image and CSS3 gradient on the same element?
这应该有帮助:
body {
height: 500px;
background: linear-gradient(
rgba(0,0,0, 0),
rgba(0,0,0, 100)
),url(https://www.vegetables.co.nz/assets/Uploads/vegetables.jpg);
}
请注意,height属性是必需的。
答案 3 :(得分:0)
您可以如下所示设置线性渐变:
const orders = [[1, 2], [1,2], [2]];
const imageCount = orders.reduce((s, a) => s + a.length, 0);
console.log(imageCount);