气泡提示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 引擎实时计算视口空间,自动选定最佳方向。