FloatButton

悬浮固定在视口的可操作按钮,用于承载全局快捷入口(AI 编辑、搜索、帮助等)。严格对齐 Semi:纯 div + onClick(非 button/a),href 靠 JS 跳转(target=_blank 用 window.open,否则 location.href),disabled 时不触发。可选包裹 Badge。形状 round(默认)/square、尺寸 small/default/large、colorful AI 渐变。默认 position:fixed 于右下角(bottom/right 24px),经 style 覆盖定位。FloatButtonGroup 将多项平铺成胶囊工具条,点击委托直接读 e.target.dataset.value 回传 value。

设计文档

如何引入

import { FloatButton, FloatButtonGroup } from '@chenzy-design/svelte';

基础悬浮按钮

单个悬浮按钮(纯 div + onClick,对齐 Semi),经 style 覆盖定位

单个悬浮按钮(纯 div + onClick,经 style 覆盖定位)。

尺寸

small / default / large 三档(24 / 32 / 40px)

尺寸三档:small / default / large(24 / 32 / 40px)。此处用 static 定位以便并排预览。

形状

round=正圆(默认)/ square=方形(8px 圆角)

形状:round=正圆(默认)/ square=方形(8px 圆角)。此处用 static 定位以便并排预览。

href 跳转

有 href 时点击经 JS 跳转;target=_blank 用 window.open(对齐 Semi)

有 href 时点击经 JS 跳转(对齐 Semi);target="_blank" 用 window.open 新开。

colorful 多彩

AI 风格多彩渐变外观(白字压 AI 渐变)

colorful:AI 风格多彩渐变外观(白字压 AI 渐变,对齐 Semi)。

带徽章

传入 badge 参数时 body 外层包裹 Badge,贴形状切点定位

带徽章:传 badge 参数时 body 外层包裹 Badge,徽章按 Semi 几何公式贴形状切点定位。
3

Group 胶囊工具条

FloatButtonGroup 圆角条内横排多项,点击委托直接读 e.target.dataset.value 回传(对齐 Semi)

FloatButtonGroup 胶囊工具条:一个圆角条内 inline-flex 横排多项,点击委托直接读 e.target.dataset.value 回传(对齐 Semi)。
编辑
搜索
帮助
最近点击:(无)

API 参考

FloatButton

Props

属性说明类型默认值
icon图标内容(Snippet)Snippetundefined
badge徽章参数(复用本库 Badge:dot/count/overflowCount/type/theme),有值时外层包裹 BadgeBadgePropsundefined
shape形状:round=正圆(默认)、square=方形(对齐 Semi)'round'|'square''round'
size尺寸三档(24/32/40px)'small'|'default'|'large''default'
colorfulAI 风格多彩渐变外观booleanfalse
disabled禁用(不触发跳转/onClick)booleanfalse
href有值时点击经 JS 跳转(对齐 Semi:_blank 用 window.open,否则 location.href)stringundefined
target链接打开目标;'_blank' 时用 window.open 新开stringundefined
onClick点击回调;disabled 时不触发(e: MouseEvent) => voidundefined
class根节点自定义类名string''
style定位方式:设 bottom/right 等覆盖默认 fixed 位置stringundefined

Events

事件载荷说明
onClickMouseEvent点击;disabled 时不触发

Slots

名称说明
icon图标内容(也可用 icon prop)

FloatButtonGroup

胶囊工具条(严格对齐 Semi):一个背景圆角条内 inline-flex 横排多个「图标+文字」项(纯 div),点击委托直接读 e.target.dataset.value 回传 value。

Props

属性说明类型默认值
items子项数组;每项 = FloatButtonProps + { value: string; content?: Snippet|string }FloatButtonGroupItem[][]
disabled组级禁用(不触发点击)booleanfalse
onClick组级点击委托,回传被点项 value(直接读 e.target.dataset.value)(value: string, e: MouseEvent) => voidundefined
class根节点自定义类名string''
style定位方式,同 FloatButtonstringundefined

Accessibility

ARIA rolenone
  • 严格对齐 Semi:FloatButton 与 FloatButtonGroup 均为纯 div + onClick(非 button/a),无内置 ARIA 语义、无键盘可达、无 focus 环。href 经 JS 跳转而非原生链接。如需可访问性由消费方在业务层补充。

设计变量

变量默认值用法
--cd-floatbutton-bg var(--cd-color-fill-0)按钮背景色 - 默认
--cd-floatbutton-bg-active var(--cd-color-fill-2)按钮背景色 - 按下
--cd-floatbutton-bg-hover var(--cd-color-fill-1)按钮背景色 - 悬浮
--cd-floatbutton-color var(--cd-color-primary)按钮内图标 / 文字颜色(Semi=primary)
--cd-floatbutton-colorful-bg var(--cd-color-ai-general)colorful 外观 AI 渐变背景 - 默认
--cd-floatbutton-colorful-bg-active var(--cd-color-ai-general-active)colorful 外观 AI 渐变背景 - 按下
--cd-floatbutton-colorful-bg-hover var(--cd-color-ai-general-hover)colorful 外观 AI 渐变背景 - 悬浮
--cd-floatbutton-colorful-text var(--cd-color-white)colorful 外观图标 / 文字颜色(白)
--cd-floatbutton-disabled-bg var(--cd-color-disabled-bg)禁用态背景色
--cd-floatbutton-disabled-text var(--cd-color-disabled-text)禁用态图标 / 文字颜色