帮助:解析函数/info
info是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
info
一个小图标,点击显示悬浮框。出自扩展 Semantic MediaWiki SMW功能强大,应用广泛。<br>如需单页内大量调用,请考虑使用模板、模块批量查询,这能提升综合体验、降低资源消耗。<br>另请参阅灰机、Fandom的相关文档,他们详述了对SMW的顾虑和限制。。
移动端不易精确点击,使用需谨慎。
语法
{{#info: <text>|<icon>|max-width=<width>|theme=<theme>}}
- 悬浮框文本
- icon (可选):infoicon可选项info、noteicon可选项note、warningicon可选项warning、erroricon可选项error
- max-width (可选): 最大宽度,正整数。
- theme (可选):悬浮框样式:square-bordertheme可选项square-border、square-border-lighttheme可选项square-border-light
示例
文本文本 {{#info: 悬浮框文本 }}
→文本文本 悬浮框文本
- 指定图标
{{#info: 请按格式输入,例如:+86-12345678901|note}}
→ 请按格式输入,例如:+86-12345678901 - 指定宽度:
{{#info: 悬浮提示中要显示大量文字。……|note|max-width=600}}
→ 悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。 - 指定主题:
{{#info: 使用不同主题样式的悬浮提示。|note|theme=square-border-light}}
→ 使用不同主题样式的悬浮提示。
扩展应用
核心功能
- 此悬浮弹窗功能由 tippy.js 库实现,结合 Semantic MediaWiki 扩展,允许为页面元素创建交互式悬浮弹窗。悬浮弹窗的外观、行为和内容可以通过 HTML 属性和 JavaScript 参数进行控制。
- 注:经过测试发现部分站点/页面会有 tippy.js 未加载的情况,建议参考 模板:悬浮框 ,封装成模板并手动写一次
{{#info:悬浮框}}
将 tippy.js 拉进来,以确保功能可以正常使用,有需求的可以自行魔改
- 注:经过测试发现部分站点/页面会有 tippy.js 未加载的情况,建议参考 模板:悬浮框 ,封装成模板并手动写一次
HTML 结构
- 基本的 HTML 触发结构如下:
<span class="smw-highlighter" data-state="persistent" data-title="悬浮弹窗标题" data-content="悬浮弹窗内容"> <span class="smwtticon info"></span> <span class="smwttcontent">备用悬浮弹窗内容</span> </span>
- 基本的 HTML 悬浮弹窗结构如下:
<div class="tippy-popper"> <div class="tippy-tooltip light-border-theme"> <div class="tippy-arrow"></div> <div class="tippy-content"> <div class="tippy-header"><span class="tippy-cancel"></span>悬浮弹窗标题</div> <div class="tippy-content-container">悬浮弹窗内容</div> </div> </div> </div>
参数细节
- (1) class="smw-highlighter"
- 触发悬浮弹窗的必要类,悬浮弹窗将绑定到该元素上。
- 可通过 data-tooltipclass 或 CSS 修改悬浮弹窗样式。
- (2) data-title
- 设置悬浮弹窗的标题文本。
- 空字符串(data-title="")会尝试通过 data-type 获取默认标题,如果没有设置 data-type,默认标题为
信息
。- 注:不同于使用
{{#info:}}
会根据 data-type 自动生成标题,直接使用html生成悬浮弹窗,会显示为⧼smw-ui-tooltip-title-⧼data-type⧽⧽
,所以建议不设置 data-type 。
- 注:不同于使用
- (3) data-content
- 设置悬浮弹窗内容。
- 不设置 data-content 参数,会尝试使用嵌套的
.smwttcontent
元素作为内容。 - 空字符串(data-content=""),则会显示默认错误内容:
Missing a content object
。
- (4) data-type
- 设置悬浮弹窗的类型,通常决定默认标题和样式。
- 注:该参数为使用
{{#info:}}
自动生成,手动写并无作用,可能会导致其他参数失效,不建议使用该参数。
- 注:该参数为使用
- 可选值:
- 4:警告(warning)。
- 5:错误(error)。
- 6:信息(info)。
- 8:注释(note)。
- 设置悬浮弹窗的类型,通常决定默认标题和样式。
- (5) data-state
- 设置悬浮弹窗的行为状态,比如控制悬浮弹窗是否为持久化。
- 可选值:
- persistent:持久化悬浮弹窗,仅通过点击关闭按钮关闭。
- inline(或未设置):非持久化,鼠标不在悬浮弹窗触发范围或点击悬浮弹窗外部关闭。
- (6) data-bottom
- 设置悬浮弹窗的底部内容,会在
<div class="tippy-content-container"></div>
后添加<div class="tippy-bottom"></div>
,内容为 data-bottom。
- 设置悬浮弹窗的底部内容,会在
- (7) data-maxwidth
- 设置悬浮弹窗的最大宽度
- (8) data-tooltipclass
- 设置悬浮弹窗的附加 CSS 类名,为悬浮弹窗添加自定义样式,该class会添加到
<div class="tippy-tooltip"></div>
中。 - 可选值:
- light-border-theme(默认样式)
- square-border-light
- 其它任意合法的 CSS 类名。
- 设置悬浮弹窗的附加 CSS 类名,为悬浮弹窗添加自定义样式,该class会添加到
- (9) data-theme
- 设置悬浮弹窗内容的附加 CSS 类名,为悬浮弹窗内容添加自定义样式,该class会分别添加到
<div class="tippy-header"></div><div class="tippy-content-container"></div><div class="tippy-bottom"></div>
中。
- 设置悬浮弹窗内容的附加 CSS 类名,为悬浮弹窗内容添加自定义样式,该class会分别添加到
- (10) 悬浮弹窗触发图标:
<span class="smwtticon info"></span>
- 可选值:
- info:
- question:
- service:
- warning:
- error:
- note:
- 可使用文字作为悬浮弹窗触发:
<span class="smw-highlighter" data-state="persistent" data-title="悬浮弹窗标题" data-content="悬浮弹窗内容">显示文字</span>
→显示文字
- 可选值:
- (11) 嵌套内容:
<span class="smwttcontent"></span>
- 备用内容,如果 data-content 未设置,则悬浮弹窗会使用该元素的 HTML 内容作为正文。
扩展使用示例
- 基本用法
<span class="smw-highlighter" data-title="示例标题" data-content="这是内容">鼠标悬停查看内容</span>
→ 鼠标悬停查看内容
- 使用备用内容
<span class="smw-highlighter">鼠标悬停查看内容<span class="smwttcontent">备用悬浮弹窗内容</span></span>
→ 鼠标悬停查看内容备用悬浮弹窗内容
- 自定义样式和行为
<span class="smw-highlighter" data-state="persistent" data-tooltipclass="custom-tooltip" data-title="自定义悬浮弹窗标题" data-content="自定义悬浮弹窗内容">鼠标悬停打开内容</span><bstyle>.custom-tooltip *{color: red;}</bstyle>
→ 鼠标悬停打开内容
- 行内使用时,支持换行和复杂HTML
123正文<div>123</div> <div>123</div>123
123<span class="smw-highlighter" data-type="6" data-state="" data-title="标题123123" style="color:#d9d9d9; border-bottom:1px dotted #c6c6c6;">正文<span class="smwttcontent">{{#replace:
<div>123</div>
<div>123</div>
|<|<}}<span style="display:none">{{#info:词卡}}</span></span></span>123
或
<div class="smw-highlighter" data-state="persistent" data-title="悬浮弹窗标题" style="display:inline-block;">
<div class="smwttcontent">
内容1<br>
内容2<br>
</div>触发文字
</div>
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。