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

如何为Angular Material工具提示tooltip的箭头添加阴影效果

你用border实现的三角形箭头无法直接添加box-shadow,因为box-shadow仅作用于元素的矩形盒模型,不会识别你绘制的三角形轮廓。

可以使用CSS filter: drop-shadow()属性代替原本的box-shadow,该属性会基于元素实际渲染的可见形状生成阴影,会自动覆盖tooltip主体和你用伪元素绘制的箭头,修改后的代码如下:

::ng-deep .tooltip-class {
  background-color: #ffffff !important;
  opacity: 1;
  color: rgba(0, 0, 0, 0.87) !important;
  margin: 0 8px;
  padding: 8px 12px;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  border-radius: 6px;
  overflow: visible !important;
  /* 替换原box-shadow为多级drop-shadow,效果和你原有阴影完全一致 */
  filter: drop-shadow(0px 1px 2px #00000029) 
          drop-shadow(0px 2px 4px #0000001f) 
          drop-shadow(0px 1px 8px #0000001a);
}

/* 原有:before规则可以删除,避免和自定义箭头冲突 */
::ng-deep .tooltip-class:after {
  content: '';
  position: absolute;
  top: 40%;
  right: 100%;
  margin-top: -5px;
  border-width: 10px;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}

drop-shadow属性兼容所有现代浏览器,Angular项目无需考虑IE兼容的场景下可以直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 14:45:01