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

如何移除伪元素after内容中箭头标记的底部部分?

解决CSS箭头底部多余部分的问题

你的问题出在伪元素的边框设置和阴影方式上——当前写法会让伪元素呈现旋转后的菱形,多余的边框区域就是你说的“底部外观不佳”的部分,直接给伪元素加box-shadow还会放大这个问题。下面是具体的修复方案:

修复后的完整代码

body{ background:#fff; }
.triangle {
  position: relative;
  margin: 3em;
  padding: 1em;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0px 0 5px 0 rgba(0, 0, 0, 0.4);
  border-radius:5px;
}
.triangle::after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: -0.75em; /* 调整位置让箭头刚好贴合容器顶部 */
  right: 1%;
  box-sizing: border-box;
  /* 直接生成三角形:三个方向边框透明,仅保留底部边框颜色 */
  border: 0.75em solid transparent;
  border-bottom-color: #fff;
  /* 用drop-shadow替代box-shadow,仅跟随箭头形状加阴影 */
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, .5));
}
<div class="triangle">This is a CSS3 triangle with a proper box-shadow!</div>

关键修改点说明

  • 调整边框生成逻辑:不再用正方形旋转的方式造箭头,而是直接通过border属性生成三角形——设置三个方向边框为透明,只保留需要的方向(这里是border-bottom-color),彻底消除多余的边框部分。
  • 修正定位参数:把top值从0改为-0.75em,让箭头刚好贴合容器顶部,避免间隙或重叠。
  • 替换阴影实现方式:用filter: drop-shadow()代替box-shadow,因为box-shadow是给伪元素的整个边界(原正方形/菱形)加阴影,而drop-shadow会跟随箭头的实际形状添加阴影,效果更自然。

如果需要调整箭头的方向或大小,只需要修改border的宽度(0.75em)和对应的边框颜色方向即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:22:29