当前位置:首页 > uni-app

uniapp自适应

2026-03-04 19:00:54uni-app

uniapp 自适应方案

uniapp 实现自适应主要依赖 rpx 单位和 flex 布局,结合动态计算和媒体查询可覆盖多端适配需求。

使用 rpx 单位

rpx 是 uniapp 的响应式像素单位,以 750rpx 为基准宽度(对应设计稿 750px)。在不同屏幕下自动缩放:

.container {
  width: 750rpx; /* 满屏宽度 */
  font-size: 28rpx; /* 相当于设计稿28px */
}

换算公式:
设备实际宽度(px)= 设计稿元素宽度(px) × (设备屏幕宽度 / 750)

uniapp自适应

弹性布局(Flex)

Flex 布局能自动填充剩余空间:

.parent {
  display: flex;
}
.child {
  flex: 1; /* 均分宽度 */
}

动态计算窗口尺寸

通过 uni.getSystemInfoSync() 获取屏幕信息:

uniapp自适应

const systemInfo = uni.getSystemInfoSync();
const windowWidth = systemInfo.windowWidth;
const scale = windowWidth / 750; // 计算缩放比例

条件编译处理平台差异

使用 #ifdef 区分平台样式:

/* #ifdef H5 */
.header { height: 88px; }
/* #endif */
/* #ifdef MP-WEIXIN */
.header { height: 44px; }
/* #endif */

媒体查询补充适配

针对特殊分辨率补充样式:

@media (max-width: 640px) {
  .card { width: 90%; }
}

注意事项

  • 设计稿建议按 750px 宽度制作
  • 图片资源建议使用 @2x@3x 多倍图
  • 复杂布局可结合 calc() 动态计算
  • 避免直接使用 px,优先 rpx 和百分比

通过组合上述方法,可实现从手机到平板的多端自适应效果。实际开发中建议通过真机调试验证各平台表现。

标签: 自适应uniapp
分享给朋友:

相关文章

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是 D…

uniapp实名认证

uniapp实名认证

uniapp实名认证实现方法 使用uniCloud实名认证插件 uniapp官方提供了uniCloud的实名认证插件,可快速集成到项目中。插件支持身份证识别、活体检测等功能,需在uniCloud控制台…

引擎uniapp

引擎uniapp

uniapp 引擎概述 uniapp 是一个基于 Vue.js 的跨平台开发框架,允许开发者使用单一代码库构建多端应用(如 iOS、Android、Web、小程序等)。其核心引擎通过条件编译和运行时适…

uniapp全局校验

uniapp全局校验

uniapp全局校验的实现方法 在uniapp中实现全局校验可以通过多种方式,主要包括拦截器、全局混入和自定义指令等方法。 使用请求拦截器进行校验 在main.js中配置请求拦截器,对所有请求进行统…

uniapp事件介绍

uniapp事件介绍

uniapp事件介绍 uniapp中的事件系统基于Vue.js的事件机制,允许开发者在组件间进行通信或响应用户交互。以下是uniapp中常见的事件类型和使用方法。 事件绑定与触发 在uniapp中,…

vue实现页面自适应

vue实现页面自适应

Vue 实现页面自适应的方法 在 Vue 项目中实现页面自适应,通常需要结合 CSS 和 JavaScript 技术。以下是几种常见的实现方式: 使用 CSS 媒体查询 通过 CSS 的媒体查询(M…