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

如何实现div中间渐变分割处的阴影效果?

实现渐变分割线阴影的方法

你用box-shadow没法实现分割线的阴影,因为它是给整个元素添加阴影的,没法针对内部的渐变分界线单独处理。可以用伪元素+滤镜模糊的方式来模拟这个效果,具体代码如下:

.box {
  width: 300px;
  height: 400px;
  background: linear-gradient(-10deg, #ffffff 50%, #d6fa02 50%);
  position: relative;
  overflow: hidden; /* 避免阴影超出容器 */
}

.box::before {
  content: "";
  position: absolute;
  /* 宽高设置足够覆盖斜线区域 */
  width: 200%;
  height: 4px;
  background-color: rgba(0, 0, 0, 0.3);
  filter: blur(2px); /* 模糊效果模拟阴影 */
  transform: rotate(-10deg); /* 和渐变角度保持一致 */
  top: 50%; /* 垂直居中,对应渐变50%的分割位置 */
  left: -50%; /* 向左偏移让斜线居中显示 */
}

如果想要阴影更自然,可以调整height、filter: blur()的数值,或者修改background-color的透明度。

另外还有一种思路:把阴影做成渐变的一部分,用多层渐变叠加,不过这种方式的阴影效果比较生硬,适合不需要模糊的场景:

.box {
  width: 300px;
  height: 400px;
  background: 
    /* 中间的阴影线 */
    linear-gradient(-10deg, transparent 49.6%, rgba(0,0,0,0.2) 49.6%, rgba(0,0,0,0.2) 50.4%, transparent 50.4%),
    /* 基础的双色渐变 */
    linear-gradient(-10deg, #ffffff 50%, #d6fa02 50%);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 13:21:03