使用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元素的背后,以使其不会干扰其他内容。