更新记录

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) 🚧 开发中 -

安装方法

  1. 在uni-app插件市场中搜索并导入lime-liquid-glass
  2. 导入后可能需要重新编译项目
  3. 在页面中使用l-liquid-glassl-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 过渡动画

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。