uni-app nvue webview flex1铺满手机屏幕不生效 ios底部一片白屏
uni-app nvue webview flex1铺满手机屏幕不生效 ios底部一片白屏
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 6AA30D0B-46C5-43C6-A317-E0E9FA17F526 | HBuilderX |
| 4.85 |
产品分类:uniapp/App
PC开发环境操作系统:Windows
手机系统:iOS
手机系统版本号:iOS 16
手机厂商:苹果
手机机型:iphone 12pro max
页面类型:nvue
vue版本:vue3
打包方式:云端
示例代码:
<template>
<view class="webview-container">
<web-view ref="webview" class="webview" :src="webPath"></web-view>
</view>
</template>
<style lang="scss" scoped>
.webview-container {
flex: 1;
background-color: red;
.webview {
flex: 1;
}
}
</style>
操作步骤:
<template>
<view class="webview-container">
<web-view ref="webview" class="webview" :src="webPath"></web-view>
</view>
</template>
<style lang="scss" scoped>
.webview-container {
flex: 1;
background-color: red;
.webview {
flex: 1;
}
}
</style>
预期结果:
铺满ios屏幕
实际结果:
底部一片白屏
bug描述:
nvue webview flex:1铺满手机屏幕不生效,ios底部一片白屏,官方文档自己标注使用flex:1 就能铺满


更多关于uni-app nvue webview flex1铺满手机屏幕不生效 ios底部一片白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好 我本地测试是可以铺满的
<template>
<view class="webview-container">
<web-view ref="webview" class="webview" src="https://www.baidu.com"></web-view>
</view>
</template>

更多关于uni-app nvue webview flex1铺满手机屏幕不生效 ios底部一片白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在nvue页面中,iOS设备上web-view组件使用flex:1布局时出现底部白屏是常见问题。这是由于iOS安全区域适配导致的。
解决方案如下:
- 使用安全区域适配样式:
.webview-container {
flex: 1;
background-color: red;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
- 或者使用页面级的安全区域配置: 在pages.json中对应页面配置:
{
"style": {
"safeArea": {
"bottom": {
"offset": "auto"
}
}
}
}
- 检查页面结构,确保父容器也是flex布局:
<template>
<view class="container">
<view class="webview-container">
<web-view ref="webview" class="webview" :src="webPath"></web-view>
</view>
</view>
</template>
<style scoped>
.container {
flex: 1;
}
.webview-container {
flex: 1;
}
.webview {
flex: 1;
}
</style>

