当我们想给一个矩形或其他能用 border-radius 生成的形状(在“自适应的椭圆”一节中可以看到一些示例)加投影时,box-shadow 的表现都堪称完美。但是,当元素添加了一些伪元素或半透明的装饰之后,它就有些力不从心了,因为 border-radius 会无耻地忽视透明部分。这类情况包括: 半透明图像、背景图像、或者 border-image(比如老式的金质像框); 元素设置了点状、虚线或半透明的边框,但没有背景(或者当background-clip 不是 border-box 时); 对话气泡,它的小尾巴通常是用伪元素生成的; 如果我们打算对这类元素直接应用