气泡提示
v2.0.6+


气泡提示是一种悬浮提示组件,支持 12 方向自动定位,通过 bny-tip 属性即可使用。

基础用法

  • Preview
  • Code
悬停我
<button class="bny-btn" bny-tip="这是一个基础提示">鼠标悬停</button>
<span bny-tip="内联元素也支持">悬停我</span>
                

12 方向自动定位

  • Preview
  • Code

顶部元素

左区元素

右区元素(长文本)

底部元素

<p bny-tip="上方居中的提示气泡">顶部元素</p>

<p bny-tip="左侧对齐的气泡提示,当上方空间不足时会自动切换到下方">左区元素</p>

<p bny-tip="右侧对齐的提示,这是一段比较长的文本用来测试气泡的自动换行和最大宽度效果">右区元素(长文本)</p>

<p bny-tip="底部元素会自动向上弹出气泡">底部元素</p>
                

键盘无障碍

  • Preview
  • Code

使用 Tab 键聚焦下方输入框和按钮:


<input class="bny-input" bny-tip="请输入您的用户名" placeholder="聚焦我试试">

<button class="bny-btn" bny-tip="点击或聚焦均可触发提示">可聚焦按钮</button>
                

HTMX 动态内容

  • Preview
  • Code
<button class="bny-btn" hx-get="/test/data/tooltip-demo.html"
    hx-target="#tooltip-dynamic" hx-swap="innerHTML">
    加载动态内容
</button>
<div id="tooltip-dynamic"></div>
                

HTML 内容

  • Preview
  • Code
<button class="bny-btn"
    bny-tip-html="<b>加粗标题</b><br><span style='color:var(--green)'>带颜色的描述文字</span>">
    HTML 内容提示
</button>
                

延迟显示

  • Preview
  • Code
<button class="bny-btn" bny-tip="悬停 500ms 后才显示" data-tip-delay="500">延迟 500ms</button>
                

手动指定方向

  • Preview
  • Code
<button class="bny-btn" bny-tip="始终在右侧显示" data-tip-placement="right">右侧提示</button>

<button class="bny-btn" bny-tip="始终在下方左对齐" data-tip-placement="bottom-start">下方左对齐</button>
                

亮色主题 & 自定义宽度

  • Preview
  • Code
<button class="bny-btn" bny-tip="白色背景的气泡提示" data-tip-theme="light">亮色主题</button>

<button class="bny-btn" bny-tip="长文本..." data-tip-width="180px">窄宽度</button>
                

API

标签属性

属性 默认值 必须 描述 版本
bny-tip 气泡提示的纯文本内容(与 bny-tip-html 二选一)
v2.0.5+
bny-tip-html 气泡提示的 HTML 内容(与 bny-tip 二选一,优先级更高)
data-tip-delay 0 显示延迟时间(毫秒)
data-tip-placement 手动指定方向,不设置则自动评分。可选值见下方定位表
data-tip-theme 主题:light-亮色(白色背景+阴影)
data-tip-width 280px 自定义最大宽度

定位规则

方向 变体 描述
top top / top-start / top-end 上方居中 / 上方左对齐 / 上方右对齐
bottom bottom / bottom-start / bottom-end 下方居中 / 下方左对齐 / 下方右对齐
left left / left-start / left-end 左侧居中 / 左侧上对齐 / 左侧下对齐
right right / right-start / right-end 右侧居中 / 右侧上对齐 / 右侧下对齐
优先级:top → bottom → left → right。JS 引擎实时计算视口空间,自动选定最佳方向。