使用CSS样式创建一个空白元素来遮盖在图片上,并达到淡化body背景图片的效果,可以使用伪元素::after来实现:
<!DOCTYPE html>
<html>
<head>
<style>
body {
position: relative;
background-image: url("your-image.jpg");
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
body::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.5); /* 设置半透明的白色背景 */
z-index: -1;
/*线性渐变(linear-gradient)特点就是向一个方向进行颜色渐变,上/下/左/右/对角线等*/
/*background-image:linear-gradient(rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0))*/
/*background:linear-gradient(rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0.5),url("your-image.jpg"))*/
}
</style>
</head>
<body>
</body>
</html>
在上述示例中,我们为body元素设置了背景图片属性和滤镜效果。然后,我们使用body::after伪元素,它被绝对定位在body元素的左上角和右下角,并且具有与body元素相同的背景图片属性和滤镜效果。通过将滤镜效果设置为半透明的白色背景(rgba(255, 255, 255, 0.5)),可以创建一个半透明的白色遮罩层,从而淡化背景图片。最后,通过将z-index设置为-1,将伪元素放置在body元素的背后,以使其不会干扰其他内容。