更新记录
0.0.1(2026-04-20)
- ✨ 新增液态玻璃组件 l-liquid-glass
-
平台兼容性
uni-app(5.0)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
√ |
√ |
√ |
√ |
- |
√ |
√ |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(5.0)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| √ |
√ |
- |
- |
- |
- |
lime-liquid-glass 液态玻璃组件
uni-app 液态玻璃效果组件,Web 端和 uni-app App 端完整支持。
特性
- ✨ Q弹效果:支持弹簧物理动画的缩放交互
- 🎨 丰富配置:支持边框、高光、折射率等多种参数定制
- 🧭 导航栏组件:内置液态玻璃效果的导航栏组件
插件依赖:lime-shared
平台兼容性
| 平台 |
支持情况 |
最低版本要求 |
| Web/H5 |
✅ 完全支持 |
- |
| uni-app App |
✅ 完全支持 |
- |
| 微信小程序 |
❌ 不支持 |
- |
| uni-app x App (UTS) |
🚧 开发中 |
- |
安装方法
- 在uni-app插件市场中搜索并导入
lime-liquid-glass
- 导入后可能需要重新编译项目
- 在页面中使用
l-liquid-glass或l-liquid-glass-navbar组件
l-liquid-glass 液态玻璃组件
快速上手
<l-liquid-glass
:blur="20"
:radius="24"
background-color="rgba(255,255,255,0.12)"
>
<!-- 你的内容 -->
</l-liquid-glass>
Q弹效果示例
<l-liquid-glass
ref="glassRef"
:width="200"
:height="60"
:radius="30"
:scale-multiplier="1.2"
:scale-duration="400"
easing-type="spring"
background-color="rgba(255,255,255,0.4)"
>
<text>点击我试试</text>
</l-liquid-glass>
完整配置示例
<l-liquid-glass
:width="200"
:height="80"
:radius="40"
:blur="2"
:opacity="0.08"
background-color="rgba(255,255,255,0.2)"
:border-width="1.5"
border-color="rgba(112,112,112,0.38)"
shadow-color="rgba(0, 0, 0, 0.16) 0px 4px 9px"
:bezel-width="30"
:glass-thickness="190"
:refractive-index="1.3"
bezel-type="convex_squircle"
:scale-ratio="0.4"
:specular-opacity="1"
:specular-saturation="19"
:specular-angle="60"
shape="pill"
:corner-radius="1.0"
:squircle-exponent="4"
:quality="2"
:scalable="true"
:shadow-adaptive="true"
:scale-multiplier="1.1"
:scale-duration="400"
easing-type="spring"
>
<text>液态玻璃内容</text>
</l-liquid-glass>
快速预览
导入插件后,可以直接使用以下标签查看演示效果:
<!-- 代码位于 uni_modules/lime-liquid-glass/components/lime-liquid-glass -->
<lime-liquid-glass />
插件标签说明
| 标签名 |
说明 |
l-liquid-glass |
组件标签 |
l-liquid-glass-navbar |
导航栏组件标签 |
lime-liquid-glass |
演示标签 |
API文档
Props 属性说明
| 属性名 |
说明 |
类型 |
默认值 |
| width |
组件宽度 |
number |
150 |
| height |
组件高度 |
number |
150 |
| radius |
圆角大小 |
number |
24 |
| blur |
模糊程度 |
number |
2 |
| opacity |
透明度 |
number |
0.08 |
| backgroundColor |
背景颜色 |
string |
transparent |
| borderWidth |
边框宽度 |
number |
1.5 |
| borderColor |
边框颜色 |
string |
rgba(112,112,112,0.38) |
| shadowColor |
阴影颜色 |
string |
rgba(0, 0, 0, 0.16) 0px 4px 9px... |
| lClass |
根元素自定义类名 |
string |
- |
| bezelWidth |
边框宽度(滤镜用) |
number |
30 |
| glassThickness |
玻璃厚度 |
number |
190 |
| refractiveIndex |
折射率 |
number |
1.3 |
| bezelType |
边框类型 |
string |
convex_squircle |
| scaleRatio |
缩放比例 |
number |
0.4 |
| specularOpacity |
高光透明度 |
number |
1 |
| specularSaturation |
高光饱和度 |
number |
19 |
| specularAngle |
高光角度(0-360度) |
number |
60 |
| magnify |
是否启用放大镜效果 |
boolean |
false |
| magnifyingScale |
放大镜缩放比例 |
number |
24 |
| shape |
形状类型 |
string |
pill |
| cornerRadius |
圆角比例(0-1) |
number |
1.0 |
| squircleExponent |
Squircle指数 |
number |
4 |
| quality |
品质级别 |
number |
2 |
| scalable |
是否可缩放 |
boolean |
true |
| shadowAdaptive |
是否自适应阴影 |
boolean |
true |
| scaleMultiplier |
缩放倍数 |
number |
1.1 |
| scaleDuration |
缩放动画时长(毫秒) |
number |
400 |
| easingType |
缓动类型 |
string |
spring |
| active |
是否激活状态 |
boolean |
false |
Events 事件
| 事件名 |
说明 |
回调参数 |
| ready |
滤镜准备就绪 |
- |
| error |
发生错误时 |
error: any |
l-liquid-glass-navbar 液态玻璃导航栏组件
液态玻璃效果的导航栏,支持点击和滑动切换,拥有弹簧物理动画效果。
快速上手
<l-liquid-glass-navbar
v-model="currentIndex"
:items="navItems"
/>
const currentIndex = ref(0)
const navItems = ref([
{ id: 'home', label: '首页' },
{ id: 'category', label: '分类' },
{ id: 'cart', label: '购物车' },
{ id: 'mine', label: '我的' }
])
带图标的导航栏
<l-liquid-glass-navbar
v-model="currentIndex"
:items="navItems"
:icon-size="20"
:font-size="12"
icon-color="#ffffff"
text-color="#ffffff"
icon-color-active="#ff6b00"
text-color-active="#ff6b00"
/>
const currentIndex = ref(0)
const navItems = ref([
{ id: 'home', label: '首页', icon: 'home' },
{ id: 'category', label: '分类', icon: 'category' },
{ id: 'cart', label: '购物车', icon: 'cart' },
{ id: 'mine', label: '我的', icon: 'mine' }
])
自定义尺寸
<l-liquid-glass-navbar
v-model="currentIndex"
:items="navItems"
:height="60"
:item-width="90"
:thumb-height="56"
:bezel-width="10"
:bazel-width-bg="28"
:glass-thickness="120"
:thumb-scale="1.35"
:thumb-scale-y="1.15"
/>
使用 CSS 变量定制
<view class="custom-nav">
<l-liquid-glass-navbar
v-model="currentIndex"
:items="navItems"
/>
</view>
.custom-nav {
--l-liquid-glass-navbar-icon-size: 22px;
--l-liquid-glass-navbar-font-size: 13px;
--l-liquid-glass-navbar-icon-color: #cccccc;
--l-liquid-glass-navbar-text-color: #cccccc;
--l-liquid-glass-navbar-icon-color-active: #00ff00;
--l-liquid-glass-navbar-text-color-active: #00ff00;
--l-liquid-glass-navbar-gap: 8px;
--l-liquid-glass-navbar-transition: 0.2s ease;
}
完整配置示例
<l-liquid-glass-navbar
v-model="currentIndex"
:items="navItems"
:height="60"
:item-width="90"
:thumb-height="55"
:bezel-width="10"
:bazel-width-bg="25"
:glass-thickness="120"
:thumb-scale="1.35"
:thumb-scale-y="1.15"
:icon-size="22"
icon-color="#ffffff"
icon-color-active="#ff6b00"
:font-size="13"
text-color="#ffffff"
text-color-active="#ff6b00"
:gap="6"
transition="0.2s ease"
/>
API文档
Props 属性说明
| 属性名 |
说明 |
类型 |
默认值 |
| modelValue |
当前选中项,使用 v-model 双向绑定 |
number |
0 |
| items |
导航项列表 |
NavItem[] |
[] |
| disabled |
是否禁用导航栏 |
boolean |
false |
| alwaysShowGlass |
是否始终显示玻璃效果 |
boolean |
false |
| height |
导航栏高度 |
number |
undefined |
| itemWidth |
单个导航项宽度 |
number |
undefined |
| thumbHeight |
滑块高度 |
number |
undefined |
| bezelWidth |
滑块边框宽度 |
number |
undefined |
| bazelWidthBg |
背景边框宽度 |
number |
undefined |
| glassThickness |
玻璃厚度 |
number |
undefined |
| thumbScale |
滑块缩放比例 |
number |
undefined |
| thumbScaleY |
滑块Y轴缩放比例 |
number |
undefined |
| iconSize |
图标大小 |
string | number |
20 |
| iconColor |
图标颜色 |
string |
#ffffff |
| iconColorActive |
图标激活颜色 |
string |
#ff0000 |
| fontSize |
文字大小 |
string | number |
12 |
| textColor |
文字颜色 |
string |
#ffffff |
| textColorActive |
文字激活颜色 |
string |
#ff0000 |
| gap |
图标和文字间距 |
string | number |
4 |
| transition |
过渡动画 |
string |
0.1s ease |
NavItem 类型
interface NavItem {
id: string
label: string
icon?: string
}
Events 事件
| 事件名 |
说明 |
回调参数 |
| update:modelValue |
选中项变化时触发 |
index: number |
主题定制
组件提供了以下 CSS 变量,可用于自定义样式:
导航栏 CSS 变量
| 变量名称 |
默认值 |
描述 |
--l-liquid-glass-navbar-height |
- |
导航栏高度 |
--l-liquid-glass-navbar-width |
- |
导航栏宽度 |
--l-liquid-glass-navbar-icon-size |
20px |
图标大小 |
--l-liquid-glass-navbar-icon-color |
white |
图标颜色 |
--l-liquid-glass-navbar-icon-color-active |
red |
图标激活颜色 |
--l-liquid-glass-navbar-font-size |
12px |
文字大小 |
--l-liquid-glass-navbar-text-color |
white |
文字颜色 |
--l-liquid-glass-navbar-text-color-active |
red |
文字激活颜色 |
--l-liquid-glass-navbar-gap |
4px |
图标和文字间距 |
--l-liquid-glass-navbar-transition |
0.1s ease |
过渡动画 |
支持与赞赏
如果你觉得本插件解决了你的问题,可以考虑支持作者:
| 支付宝赞助 |
微信赞助 |
 |
 |