当前位置:首页 > 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中处理请求超时可以通过多种方式实现,以下是几种常见的处理策略: 设置全局请求超时时间 在main.js中配置全局请求超时时间,适用于所有请求:…

uniapp开发电视应用

uniapp开发电视应用

开发环境准备 确保已安装HBuilderX最新版本,这是uniapp官方推荐的开发工具。安装Node.js环境,用于依赖管理和打包构建。准备Android Studio或Xcode用于调试和打包TV应…

uniapp关闭侧滑

uniapp关闭侧滑

禁用全局侧滑返回功能 在pages.json中配置全局禁止侧滑返回: { "globalStyle": { "popGesture": "none" } } 禁用单个页面侧滑…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

uniapp可以用vant吗

uniapp可以用vant吗

uniapp中使用Vant组件库的可行性 Vant是专为Vue.js设计的移动端组件库,而uniapp是一个跨平台开发框架。两者并非原生兼容,但可通过以下方式实现部分Vant组件的使用。 方法一:…

重构uniapp

重构uniapp

重构 Uniapp 项目的关键方法 代码结构优化 将页面、组件、静态资源按功能模块划分,避免全部堆放在根目录。建议采用以下结构: src/ ├── components/ // 通用组件…