刘海屏设备下使用vh单位布局时,如何避免内容被刘海遮挡? Tr° 梓涵 提问于 2026-01-31 12:34:27 阅读 71 移动 我在开发一个全屏显示的页面时遇到了问题,用100vh设置高度在普通手机上没问题,但在iPhone 14 Pro的刘海屏上底部内容被刘海区域遮挡了一部分,看起来就像这样: 标题栏 内容区域 我尝试过用padding-bottom调整,也查了apple的viewport-fit=cover参数,但修改后页面边缘会出现横向滚动条。有没有什么方法能准确计算刘海屏的可用高度?或者需要配合JavaScript检测刘海区域的尺寸? 我来解答 赞 7 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 爱敏 Lv1 用 viewport-fit=cover 加 env(safe-area-inset-top) 和 env(safe-area-inset-bottom) 就行。 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> 然后样式: body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); } 横向滚动条是其他地方出了问题,检查下宽高设置。 回复 点赞 9 2026-02-01 10:02 加载更多 相关推荐 1 回答 44 浏览 React用vw/vh布局时滚动条出现页面错位怎么办? 我在做移动端页面时用了100vh设置容器高度,但页面出现滚动条后底部元素就被截断了,试过calc(100vh - env(safe-area-inset-bottom))也不管用,求大神指点 比如这个... 伊果 移动 2026-02-12 22:20:33 2 回答 26 浏览 rem和em在移动端响应式布局中如何配合使用? 最近在做移动端适配时发现一个问题,当同时使用rem和em时,字体大小总是忽大忽小。比如设置了html{font-size:16px},然后用em的子元素又套了rem,结果在iPhone12上显示正常,... 迷人的康平 移动 2026-02-08 23:15:25 1 回答 21 浏览 骨架屏切换时为什么会出现闪烁?如何避免布局抖动? 我在给列表页加骨架屏时遇到问题,当真实内容加载出来后,骨架屏区域会突然跳动一下,看起来很卡。我用了opacity过渡,但闪烁反而更明显了。 代码结构大概是这样的,骨架屏用背景色模拟内容形状: <... Dev · 炳光 优化 2026-02-18 09:20:36 1 回答 13 浏览 Solid Start中布局组件的loader在客户端导航时重复执行如何解决? 在Solid Start项目里,我给布局组件加了loader处理头部数据,但发现每次客户端路由跳转都会重新执行loader,导致重复请求。比如从首页跳到关于页时,控制台又看到API请求了。 尝试过在l... 司空兴翰 框架 2026-02-18 08:03:37 2 回答 18 浏览 Vue中使用v-html时如何避免XSS漏洞? 在Vue项目里用v-html渲染用户输入的内容时,发现输入的alert(1)居然真的弹窗了。我试过用replace替换尖括号,但复杂HTML结构就乱了,怎么安全地处理用户输入避免XSS? <te... UX-自娴 安全 2026-02-16 20:52:29 2 回答 28 浏览 Quasar中q-item里的按钮如何水平排列?Flex布局不生效 我在用Quasar的q-item组件做列表项,想让里面的两个按钮水平排列,但用了flex布局类还是上下显示: <q-item> <q-item-section> <div... 柚溪 框架 2026-02-16 15:42:34 1 回答 29 浏览 低代码Form Render如何动态切换表单布局样式? 用低代码表单引擎渲染的表单,想根据窗口宽度动态切换垂直/内联布局,但直接改class没效果 试过给表单包裹层动态绑定class:class={isMobile ? 'vertical' : 'inli... 极客艳清 框架 2026-02-13 20:28:26 2 回答 20 浏览 React骨架屏组件在动态数据加载时如何保持布局一致性? 我在用Skeleton骨架屏实现列表加载效果时遇到了问题。当异步数据加载完成,真实内容替换骨架屏时,页面布局会突然跳动一下。 我已经尝试给Skeleton和真实内容都设置了相同的固定高度,但实际渲染后... 司马士媛 组件 2026-02-10 21:52:29 2 回答 14 浏览 uni-app中使用flex布局时子元素高度不生效怎么办? 在uni-app页面里用flex布局,容器设置了flex-direction: column,子元素加了flex:1,但高度就是不生效,内容溢出到外面了。我试过给子元素加min-height:100%... Mr-浩迪 移动 2026-02-10 14:34:29 2 回答 13 浏览 使用vw单位时为什么页面在不同手机上布局错乱? 在Vue项目里用vw做移动适配,按照教程设置了根字体大小,但iPhone SE上文字和按钮总是挤在一起,而iPhone 12显示正常。代码都按规范写了,为什么还是适配不好? 这是我的根元素设置:doc... 码农宁蒙 移动 2026-02-10 02:50:26
viewport-fit=cover加env(safe-area-inset-top)和env(safe-area-inset-bottom)就行。然后样式:
横向滚动条是其他地方出了问题,检查下宽高设置。