ScifiDecoHive
科幻装饰-蜂巢 是 TechUI Scifi Deco 系列中的六边形徽章组件。
它专注于 “六边形结构 (Hexagonal Structure)” 的深度演绎。在科幻 UI 设计语言中,六边形(蜂巢结构)是极致效率与结构稳定性的代名词,也是最标志性的视觉符号之一。
相比于 A1 中轻量化的基础六边形,B2 拥有更厚重的机械包边、更丰富的内部纹理以及复杂的多层嵌套结构。它仿佛是一个被加固的能量单元或高科技收纳盒,非常适合用于承载 技能树节点 (Skill Nodes)、物品栏格子 (Inventory Slots) 或 科技研发图标,能有效提升界面的“硬科幻”浓度。
提示:该组件可以通过
ScifiDecoB2或其语义化别名ScifiDecoHive进行调用。
基础用法
默认形态
默认情况下 (appearance="A"),B2 渲染为一个带有科技感边框的六边形容器。 组件内部插槽 (default slot) 会自动垂直水平居中。
vue
<template>
<div class="hive-group">
<ScifiDecoHive>
<icon name="bi-box-seam" />
</ScifiDecoHive>
<ScifiDecoHive>
<span class="level">LV.5</span>
</ScifiDecoHive>
</div>
</template>外观变体
B2 提供了四种六边形结构变体,视觉复杂度依次递增。
模式对比
- Type A (默认): 标准蜂巢。边框线条清晰,带有少量角部装饰,通用性最强。
- Type B: 加固装甲。在六边形的角部增加了额外的加固模块,视觉上更坚固,适合防御类属性。
- Type C: 双层力场。拥有内外双层线条,中间带有镂空或能量填充感,适合高阶技能。
- Type D: 重型核心。最复杂的变体,填充面积大,带有上下机械咬合结构,适合作为“终极技能”或“核心科技”的图标。
vue
<template>
<div class="grid">
<ScifiDecoHive appearance="A">Standard</ScifiDecoHive>
<ScifiDecoHive appearance="B">Armored</ScifiDecoHive>
<ScifiDecoHive appearance="C">Double Layer</ScifiDecoHive>
<ScifiDecoHive appearance="D">Ultimate</ScifiDecoHive>
</div>
</template>尺寸与布局
固定尺寸与缩放 (Scale)
ScifiDeco 系列基于 80px x 80px 坐标系绘制。 请勿使用 CSS 修改宽高,必须使用 scale 属性进行无损缩放。六边形结构在阵列排列(蜂巢布局)时,缩放比例的统一尤为重要。
scale="1": 80px (默认)scale="1.2": 96px (适合选中状态)scale="0.8": 64px (适合密集阵列)
vue
<template>
<div class="honeycomb-grid">
<ScifiDecoHive v-for="i in 6" :key="i" :scale="0.8">
<icon :name="`tech-${i}`" />
</ScifiDecoHive>
</div>
</template>视觉定制
辉光与氛围
- glow: 开启发光滤镜。六边形的锐角在发光时会产生非常漂亮的星芒效果。
- glowRange: 控制光晕范围。
- backgroundOpacity: 调整六边形内部的背景填充透明度。
配色变体 (Color Alt)
- decorationColorAlt: 交换高亮色与焦点色。
- 可用于区分“已解锁”与“未解锁”的科技,或者“主动技能”与“被动技能”。
vue
<template>
<ScifiDecoHive
appearance="A"
:decorationColorAlt="true"
:backgroundOpacity="0.1"
className="tech-locked"
>
<icon name="lock" />
</ScifiDecoHive>
</template>CSS变量
通过 CSS 变量,您可以将 B2 定制为“赛博黄蜂”或“冰霜护盾”风格。
案例:赛博黄蜂风格 (Cyber Hive)
此案例定义了一个黄黑色调的工程风格蜂巢。
vue
<template>
<ScifiDecoHive
appearance="C"
className="deco-hive"
:scale="1.1"
>
<icon name="drone" />
</ScifiDecoHive>
</template>
<style lang="less">
.deco-hive {
/* 基础配色 */
--sf-deco-hlite: #facc15; /* 蜜蜂黄高亮 */
--sf-deco-bd: #854d0e; /* 暗金边框 */
--sf-deco-bg: rgba(30, 20, 0, 0.6); /* 黑黄背景 */
/* 内容文字 */
--sf-deco-fc: #fef08a; /* 浅黄文字 */
/* 发光增强 */
--sf-deco-glow: #eab308; /* 金色光晕 */
--sf-deco-glowop: 0.7;
}
</style>变量字典
以下是 ScifiDecoHive 支持的主要 CSS 变量:
| 变量名 | 说明 | 默认值 |
|---|---|---|
| 基础外观 | ||
--sf-deco-size | 组件基准尺寸 (固定值) | 80px |
--sf-deco-bg | 六边形内部背景填充色 | var(--scifi-bg) |
--sf-deco-bgop | 背景不透明度 | 1 |
--sf-deco-bd | 六边形线条颜色 | var(--scifi-bd) |
| 装饰与高亮 | ||
--sf-deco-hlite | 六边形主体颜色 (SVG 描边) | var(--scifi-hlite) |
--sf-deco-focus | 辅助加固/角部颜色 | var(--scifi-focus) |
--sf-deco-glow | 发光滤镜颜色 | var(--scifi-hlite) |
| 内容插槽 | ||
--sf-deco-fc | 插槽内文字/图标颜色 | var(--font-strong) |
--sf-deco-fz | 插槽内文字默认大小 | 24px |
API 参考
Props
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| appearance | 外观变体。'A', 'B', 'C', 'D' | String | 'A' |
| scale | 缩放比例。基于 80px 的倍率 | Number | 1 |
| glow | 发光开关。是否开启滤镜光晕 | Boolean | true |
| glowRange | 发光范围 | Number | 10 |
| glowOpacity | 发光不透明度 | Number | — |
| borderd | 是否显示边框线条 | Boolean | true |
| decorationColorAlt | 装饰变体。交换高亮色与焦点色 | Boolean | false |
| backgroundOpacity | 背景不透明度 | Number | — |
| className | 自定义类名 | String | — |
Slots
| 插槽名 | 说明 |
|---|---|
| default | 组件内容。会自动绝对居中显示。 |