CSS 中无法直接给背景图片加 opacity 属性,可以使用下面的方法绕过这个限制:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
div {
width: 200px;
height: 200px;
display: block;
position: relative;
}

div::after {
content: "";
background: url(image.jpg);
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}