手机端遇到的问题记录

1、使元素滚动到当前视口顶部:

定义ref: private refScroll: { current: HTMLDivElement | null } = React.createRef();
this.refScroll.current.scrollIntoView({
behavior: ‘smooth’,
});

2、iphoneX 安全区问题
1) 设置网页在可视窗口的布局方式

新增 viewport-fit 属性,使得页面内容完全覆盖整个窗口:
viewport-fit : contain(可视窗口完全包含网页内容)
cover(网页内容完全覆盖可视窗口)
auto(默认值,效果同contain)
env() constant() ios11新特性。webkit的一个css函数,用于设置安全区域与边界的距离
env()/* 兼容 iOS >= 11.2 /
constant()/
兼容 iOS < 11.2 */ (两者需同时存在且不能置换顺序)
参数:
safe-area-inset-left:安全区域距离左边边界距离
safe-area-inset-right:安全区域距离右边边界距离
safe-area-inset-top:安全区域距离顶部边界距离
safe-area-inset-bottom:安全区域距离底部边界距离
附: 当viewport-fit值为cover时才可使用env() constant()

2)页面主体内容限定在安全区域内

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

3)fixed元素适配

添加padding-bottom(不设置外层元素的高度,由内部元素撑起高度)
{
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}

给高度添加安全区域
{
height: calc(60px(假设值) + constant(safe-area-inset-bottom));
height: calc(60px(假设值) + env(safe-area-inset-bottom));
}

添加一个div块撑起安全区域,高度设置为安全区高度
{
position: fixed;
bottom: 0;
width: 100%;
height: constant(safe-area-inset-bottom);
height: env(safe-area-inset-bottom);
background-color: #fff;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值