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

如何使用CSS实现动态尺寸UL顶部20%的线性透明度渐变效果?

可行实现方案

你之前尝试的写法不生效是因为opacity属性不支持渐变值,该需求可以通过CSS mask遮罩属性实现,该方案无需额外叠加层,可自适应UL动态尺寸,且不会破坏下层多变纹理背景的展示效果。

核心实现代码

如果需要顶部20%区域从完全透明线性过渡到完全不透明,使用以下代码:

.target-ul {
  /* 标准浏览器兼容 */
  mask: linear-gradient(to bottom, transparent 0%, #000 20%);
  /* Webkit内核浏览器兼容(Chrome、Safari、Edge、移动端浏览器等) */
  -webkit-mask: linear-gradient(to bottom, transparent 0%, #000 20%);
}

如果需要顶部20%完全透明,20%位置硬切为完全不透明,调整渐变参数即可:

.target-ul {
  mask: linear-gradient(to bottom, transparent 0%, transparent 20%, #000 20%, #000 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, transparent 20%, #000 20%, #000 100%);
}

方案优势

  • 无额外DOM元素开销,自适应UL的任意动态尺寸
  • 直接修改UL内容本身的透明度,不会遮挡下层背景,完美适配纹理/动态背景场景
  • 主流浏览器兼容性覆盖度超过95%,可直接用于生产环境

内容的提问来源于stack exchange,提问作者1337ingDisorder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:24:05