返回顶部
首页 > 资讯 > 精选 >Html5适配iphoneX刘海屏的实现示例
  • 776
分享到

Html5适配iphoneX刘海屏的实现示例

2023-06-09 13:06:57 776人浏览 独家记忆
摘要

这篇文章主要介绍了HTML5适配iphoneX刘海屏的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。iphonex的刘海屏且不说好看不好看,但是确实给开发造成一定困扰

这篇文章主要介绍了HTML5适配iphoneX刘海屏的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

iphonex的刘海屏且不说好看不好看,但是确实给开发造成一定困扰,有些PM希望产品能够全屏展示,于是客户端就把刘海以上的空间让出来让前端处理,造成一个问题就是当页面头部固定在顶部时,如果上下滑动页面会有较大缝隙出现,如果背景全是白色还好,否则跟断层了似的,非常难看。

iphone屏幕尺寸

Html5适配iphoneX刘海屏的实现示例

Html5适配iphoneX刘海屏的实现示例

iphoneX与其他机型尺寸上的差异

Html5适配iphoneX刘海屏的实现示例

导致上述问题的原因就是iphoneX存在安全区域,安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)影响,如下图蓝色区域:

Html5适配iphoneX刘海屏的实现示例

也就是说,我们要做好适配,必须保证页面可视、可操作区域是在安全区域内。

具体尺寸,详见Human Interface Guidelines – iPhoneX

如何适配?

第一步,设置网页在可视窗口的布局方式
<meta name=“viewport” content=“width=device-width, viewport-fit=cover”>

iOS11 新增特性,苹果公司为了适配 iPhoneX 对现有 viewport meta 标签的一个扩展,用于设置网页在可视窗口的布局方式,可设置三个值:

  • contain: 可视窗口完全包含网页内容(左图)

  • cover:网页内容完全覆盖可视窗口(右图)

  • auto:默认值,跟 contain 表现一致

Html5适配iphoneX刘海屏的实现示例

注意:网页默认不添加扩展的表现是 viewport-fit=contain,需要适配 iPhoneX 必须设置 viewport-fit=cover,这是适配的关键步骤。
具体详见:The viewport-fit descriptor
第二步,页面主体内容限定在安全区域内
.post {    padding: 12px;    padding-left: env(safe-area-inset-left);    padding-left: const(safe-area-inset-left);    padding-right: env(safe-area-inset-right);    padding-right: const(safe-area-inset-right);}

constant 函数

ioS11 新增特性,WEBkit 的一个 CSS 函数,用于设定安全区域与边界的距离,有四个预定义的变量:

  • safe-area-inset-left:安全区域距离左边边界距离

  • safe-area-inset-right:安全区域距离右边边界距离

  • safe-area-inset-top:安全区域距离顶部边界距离

  • safe-area-inset-bottom:安全区域距离底部边界距离

注意:部分浏览器已经不支持constant函数,用env函数替代

默认情况下,如果客户端处理了安全区域,效果如下:

Html5适配iphoneX刘海屏的实现示例

使用全面屏viewport-fit=cover属性后:

Html5适配iphoneX刘海屏的实现示例

安全区域图:

Html5适配iphoneX刘海屏的实现示例

限定安全区域后效果图:

Html5适配iphoneX刘海屏的实现示例

上面设置了padding为12像素,如果旋转方向后:

Html5适配iphoneX刘海屏的实现示例

第三步,使用min()和max()方法
@supports(padding: max(0px)) {    .post {        padding-left: max(12px, env(safe-area-inset-left));        padding-right: max(12px, env(safe-area-inset-right));    }}

Html5适配iphoneX刘海屏的实现示例

fixed元素固定问题

如果页面title是前端实现的,且固定在顶部,就会出现被遮挡的情况,这时候可以设置top值为安全距离值,比如:

.header{top:env(safe-area-inset-top);top:const(safe-area-inset-top);}

感谢你能够认真阅读完这篇文章,希望小编分享的“html5适配iphoneX刘海屏的实现示例”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Html5适配iphoneX刘海屏的实现示例

本文链接: https://lsjlt.com/news/256107.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Html5适配iphoneX刘海屏的实现示例
    这篇文章主要介绍了Html5适配iphoneX刘海屏的实现示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。iphonex的刘海屏且不说好看不好看,但是确实给开发造成一定困扰...
    99+
    2023-06-09
  • iphone刘海屏页面适配的示例分析
    小编给大家分享一下iphone刘海屏页面适配的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 下面是实现iphone...
    99+
    2024-04-02
  • Html5中IphoneX适配的示例分析
    小编给大家分享一下Html5中IphoneX适配的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IphoneX 的适配,...
    99+
    2024-04-02
  • Html5如何实现页面适配iPhoneX
    这篇文章主要介绍了Html5如何实现页面适配iPhoneX,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前后效果图:几个新概念安全区域安全区...
    99+
    2024-04-02
  • HTML5页面在iPhoneX适配问题的示例分析
    这篇文章将为大家详细讲解有关HTML5页面在iPhoneX适配问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.  iPhoneX的介绍屏幕尺寸倍...
    99+
    2024-04-02
  • 适配iPhoneXS max和iPhoneX R的方法示例
    18更新:经测试发现iOS12修改了非刘海屏safeArea的值! 拿iPhone6竖屏情况下为例iOS11中返回的safeAreaInsets为(0,0,0,0);iOS12中返回...
    99+
    2022-06-01
    适配 iPhoneXSmax iPhoneXR
  • 怎么在html5中实现分层屏幕适配
    本篇文章为大家展示了怎么在html5中实现分层屏幕适配,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。屏幕适配屏幕适配应当指内容 适配区 和 屏幕区 间的适配关系。单屏适配有 contain、cove...
    99+
    2023-06-09
  • IOS 屏幕适配方案实现缩放window的示例代码
    背景: 公司有个iPad项目(只支持横屏),是11年开发的,那时的iPad只有1024x768的分辨率,所以没有屏幕适配的问题,frame都是写死的。后来不同尺寸的iPad相继出现...
    99+
    2022-05-20
    IOS 缩放window 屏幕适配
  • vue+px2rem实现pc端大屏自适应的实例代码(rem适配)
    配置前言 项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配 实现原理:每次打包,webpack通过使用插件postcss...
    99+
    2024-04-02
  • vue项目适配大屏端的方法示例
    浅析rem 首先rem是css单位,相比于px固定的像素单位,rem更加的灵活,还有现在也比较好的vm。如果从未了解过,可以先过过眼 rem自适应。CSS3的REM设置字体大小 ...
    99+
    2024-04-02
  • html5页面中rem布局适配的示例分析
    小编给大家分享一下html5页面中rem布局适配的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!rem 布局适配方案主要方法为:按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大...
    99+
    2023-06-09
  • Android如何实现图片显示与屏幕适配
    这篇文章主要介绍Android如何实现图片显示与屏幕适配,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android 图片显示与屏幕适配的问题在Android开发中比较头疼的是Android的分辨率问题,那么这里给大...
    99+
    2023-05-30
    android
  • 移动web端屏幕适配rem的示例分析
    这篇文章主要介绍了移动web端屏幕适配rem的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。rem 介绍rem 表示根元素(<...
    99+
    2024-04-02
  • iPhoneX安全区域底部小黑条在微信小程序和H5的屏幕适配怎么实现
    这篇文章将为大家详细讲解有关iPhoneX安全区域底部小黑条在微信小程序和H5的屏幕适配怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在苹果 iPhoneX 、iPhone XR等设备上,可以...
    99+
    2023-06-09
  • vue实现骨架屏的示例
    目录骨架屏用途Vue架构骨架屏思路大纲定义一个抽象组件获取插槽并初始化操作骨架屏循环slots操作类名操作vnode的静态类名使用方法传值效果如下完整地址骨架屏用途 作为...
    99+
    2024-04-02
  • HTML5触摸事件的实现示例
    这篇文章主要介绍HTML5触摸事件的实现示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容...
    99+
    2023-06-09
  • 移动端h5页面根据屏幕适配的示例分析
    小编给大家分享一下移动端h5页面根据屏幕适配的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法一:引入淘宝开源的可伸缩布局方案引入淘宝开源的可伸缩布局方...
    99+
    2023-06-09
  • html5活动页之移动端REM布局适配的示例分析
    这篇文章主要为大家展示了“html5活动页之移动端REM布局适配的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5活动页之移动端REM布局适配的...
    99+
    2024-04-02
  • Qt超时锁屏的实现示例
    概述 Qt实现超时锁屏的功能(工控机触摸屏),当手长时间不触摸屏幕的时候,程序超时会显示锁屏窗口。 效果 主窗口超时显示锁屏窗口: 系统窗口超时显示锁屏窗口: 实现思路 首先开...
    99+
    2024-04-02
  • HTML5实现QQ登录的示例分析
    这篇文章主要介绍了HTML5实现QQ登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!DOCTYPE html...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作