Skip to content

不规则投影

困难产生原因

box-shadow 会忽视掉伪元素和透明部分

  1. 半透明图像、背景图像、或者 border-image
  2. 元素设置了点状、虚线状或者半透明的边框,但没有背景(或者当 background-clip 不是 border-box 时)
  3. 对话气泡,他的小尾巴通常使用伪元素生成
  4. 切角效果和折角效果的角
  5. 通过 clip-path 生成的形状

filter 方案

未完全支持

使用某个 css 滤镜:drop-shadow

  • 参数几乎和 box-shadow 一样
  • 但不包括扩展半径、insert、也不支持多层投影
css
.box {
	filter: drop-shadow(2px 2px 4px black);
}

注意

此属性还会应用到透明背景下的文字上,使用 text-shadow 不能解决问题,还会出现投影上投影的问题