You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS实现背景图片前500px无渐变,之后渐变为白色?

实现带固定无渐变区域的背景图片渐变效果

当然可行!这在CSS里用多层背景就能轻松实现,我给你拆解下具体怎么做:

核心思路是在原图上方叠加一个线性渐变层,让渐变层的前500像素保持完全透明(这样原图能完整显示),从500像素的位置开始,再逐渐过渡到白色。

代码示例

先准备一个简单的HTML容器:

<div class="gradient-background"></div>

然后是关键的CSS样式:

.gradient-background {
  width: 100%;
  height: 400px; /* 根据你的实际需求调整高度 */
  /* 多层背景:渐变层在上,原图在下 */
  background: 
    linear-gradient(to right, transparent 500px, white 100%),
    url('你的背景图片路径') center/cover no-repeat;
}

代码解释

  • 第一层背景是线性渐变:to right指定渐变方向为从左到右;transparent 500px表示前500像素区域完全透明,原图会透过这部分显示出来;white 100%表示从500像素位置开始,一直到容器最右侧,渐变过渡到白色。
  • 第二层背景是你的目标图片,center/cover no-repeat让图片居中并铺满容器,你可以根据需求替换成contain或者自定义的background-size值。

进阶调整:柔化渐变过渡

如果觉得渐变太生硬,你可以扩展过渡区域的范围,比如让渐变从500px开始,到600px完全变成白色,这样过渡会更柔和:

.gradient-background {
  background: 
    linear-gradient(to right, transparent 500px, white 600px),
    url('你的背景图片路径') center/cover no-repeat;
}

这种方案不需要额外的HTML元素,完全用CSS就能实现,兼容性也很好,现代浏览器都支持多层背景和线性渐变。

内容的提问来源于stack exchange,提问作者Chad Manz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:24:34