如何以渐变方式将背景图像淡化为透明?

How to fade a background image to transparent, in a gradient fashion?

我身上有一个 background-image,设置为重复,因此无论页面长度如何,它都像无限背景一样覆盖整个页面。

我希望在首次加载页面时淡出以在 window 一半左右显示默认背景(纯白色),因此它更像是横幅背景。

我发现以前的问题是这样的:Fade image to transparent like a gradient 详细说明了如何淡化位于其他内容后面的 img 元素。

但我特别想问的是如何淡化应用了 CSS 的 background-image,而不是 img 元素。这可能吗?


这是我想要的效果示例(通过直接在图像处理软件中编辑图像来完成):https://travamigos.com/about-us/

这对于 CSS 是不可能的,因为它代表背景 图像 不受 opacity 的影响。

但是,您可以用不透明度的背景渐变覆盖 bg-image 背景,但它必须以明确的颜色结束,在您的情况下 white

body {
  min-height: 100vh;
  background-image: linear-gradient(transparent, white 75%), url(http://www.fillmurray.com/460/300);
}