注意事项
uni-app x 的 App 端样式由 UCSS 驱动,与 Web 的 CSS 存在能力差异。使用 uView Pro X 时,请留意以下跨端约定与限制。
样式能力
- 布局以 flex 为主:容器需显式声明
display: flex与flex-direction,不要依赖默认排列。 - App 端不支持
@keyframes:组件中的旋转 / 扫光 / 条纹等动画,在 App 端改由UniElement.animate等 JS 方式驱动;H5 与微信小程序端仍由 SCSS@keyframes驱动,跨端观感一致但实现路径不同。 - App 端不支持伪元素:组件内部未依赖
::before/::after实现视觉效果(仅微信小程序端为清除原生 button 默认边框使用::after,属端内特例)。 - 不支持 CSS
gap简写:元素间距请用margin/padding替代,gap不会生效。 - App 端仅支持类选择器:主题默认变量以
page选择器承载(而非:root),不要用标签或伪类选择器承载主题。
主题与样式隔离
- 主题颜色通过 CSS 变量(
--u-*/--u-type-*)下发,换肤无需改组件源码,详见多主题配置。 - 演示工程启用了样式隔离 2.0;H5 端需在
main.uts额外引入基础样式文件,具体以项目实际配置为准。
平台差异
- App:额外支持原生主题联动(
uni.setAppTheme)、系统主题监听等能力。 - H5:支持通过 URL 的
lang参数注入语言,用于文档站与演示页联动。 - 微信小程序:部分原生能力(如
UniElement.animate)不可用,动画降级为 CSS@keyframes。
组件使用
- 组件统一使用
ux-前缀,经 easycom 自动引入,无需手动注册。 - 组件 props / events / slots 均有类型约束,具体取值见各组件文档的 API 章节。
- 各端存在差异的能力(如 App 端专属入口、小程序端 open-type 等)会在对应组件文档的「兼容性」与「注意事项」中单独标注。
迁移提示
uView Pro X 是 uView Pro(uni-app Vue3 版)在 uni-app x 生态下的迁移版本,API 大体保持一致,但受 UCSS 与 UTS 限制,少数组件的实现与可用能力与 Vue3 版不同,请以本文档站的实际组件文档为准。