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

Shepherd.js如何将提示框箭头移至另一侧边缘?

Shepherd.js如何将提示框箭头移至另一侧边缘?

你好呀!我完全懂你的需求——就是想把Shepherd.js提示框的箭头挪到提示框的另一侧边缘,精准指向“Jobs I'm Working”这个元素对吧?而且你已经想到从CSS入手调整,这个思路特别对!

从你描述的场景能看到,当前箭头的位置不符合预期,你也尝试了一些CSS代码,但可能还差几个关键调整。默认情况下,Shepherd的箭头是靠绝对定位和transform属性来控制位置的,咱们只需要针对你这个特定的步骤(id为jobs-working)微调几个属性就行:

/* 针对"jobs-working"步骤的箭头自定义样式 */
[data-shepherd-step-id="jobs-working"] .shepherd-arrow {
  /* 覆盖默认left定位,改用right来固定到提示框右边缘 */
  left: auto;
  /* 让箭头距离提示框右边缘10px,你可以根据需求调整这个数值 */
  right: 10px;
  /* 取消默认的平移偏移,让箭头保持在设置的位置 */
  transform: translateX(0);
}

/* 如果箭头指向方向不对,再加上这段调整边框颜色 */
[data-shepherd-step-id="jobs-working"] .shepherd-arrow::before {
  /* 隐藏默认的左侧边框 */
  border-left-color: transparent;
  /* 替换成你的提示框背景色,让箭头指向左侧目标元素 */
  border-right-color: #你的提示框背景色值;
}

给你拆解下这段代码的作用:

  • 用left: auto清空默认的left定位,改用right: 10px把箭头牢牢固定在提示框的右边缘内侧,你可以根据自己的布局需求调整10px这个数值
  • 取消默认的transform平移,避免箭头被额外偏移
  • 最后如果箭头的指向方向反了,就调整伪元素的边框颜色——因为Shepherd的箭头是用CSS边框实现的,把不需要的边框设为透明,保留对应方向的边框就能让箭头指向目标元素

你之前写的代码已经有了基础调整,补上left: auto和边框颜色的设置,应该就能完美达到你想要的效果啦!

备注:内容来源于stack exchange,提问作者who-aditya-nawandar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 17:04:49