h5自定义组件适配 iphone/android 底部安全区

1、使用 viewport meta 标签
在 HTML 的 head 标签中添加 viewport meta 标签,以适配不同设备的屏幕大小,并启用安全区域填充模式。
(重点是添加:viewport-fit=cover)

<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">

viewport-fit=cover 表示页面会填充整个屏幕,包含不同设备的安全区域。

2、添加全局样式,(一劳永逸)
其中,constant 表示兼容 iOS 设备,而 env 表示兼容 Android 设备。

body {
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: constant(safe-area-inset-left);
    padding-left: env(safe-area-inset-left);
    padding-right: constant(safe-area-inset-right);
    padding-right: env(safe-area-inset-right);
}

注意:
如果页面头部用的是非定位的,页面的主体部分和按钮用的是absolute定位时,要记得给主体部分添加如下样式:

margin-top: constant(safe-area-inset-top);
margin-top: env(safe-area-inset-top);

或者:

padding-top: constant(safe-area-inset-top);
padding-top: env(safe-area-inset-top);

页面有底部按钮的话,且底部按钮用fixed或者absolute进行定位,小黑条会遮盖按钮
增加按钮的高度。给按钮容器添加如下样式:

padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);

请添加图片描述
详细参考原文: 适配 iphone/android 底部安全区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp是一个基于Vue.js的跨平台开发框架,可以用于开发iOSAndroidH5等多个平台的应用。在UniApp中,可以使用自定义组件来实现页面的渲染和交互。 要渲染自定义组件,首先需要在UniApp项目中创建一个自定义组件。可以通过在项目的components目录下创建一个新的文件夹,并在该文件夹中创建一个.vue文件来定义自定义组件。在.vue文件中,可以使用Vue.js的语法来编写组件的模板、样式和逻辑。 在自定义组件中,可以使用props属性来接收父组件传递的数据,使用data属性来定义组件内部的数据,使用methods属性来定义组件的方法。可以在模板中使用{{}}语法来绑定数据和方法。 在父组件中,可以使用自定义组件的标签来引用该组件,并通过属性的方式向组件传递数据。例如: ``` <template> <view> <custom-component :message="message"></custom-component> </view> </template> <script> import CustomComponent from '@/components/CustomComponent.vue' export default { components: { CustomComponent }, data() { return { message: 'Hello UniApp!' } } } </script> ``` 在上面的例子中,父组件通过属性:message将数据message传递给了自定义组件自定义组件可以通过props属性接收该数据,并在模板中使用。 需要注意的是,在UniApp中,自定义组件的文件名必须以.vue结尾,并且在使用自定义组件时,需要在父组件的script标签中通过import语句引入自定义组件,并在components属性中注册该组件。 希望以上内容能够帮助到你!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值