css属性——env()和constant()设置安全区域

env()和constant(),是IOS11新增特性,Webkit的css函数,用于设定安全区域与边界的距离,有4个预定义变量:

  • safe-area-inset-left:安全区域距离左边边界的距离
  • safe-area-inset-right:安全区域距离右边边界的距离
  • safe-area-inset-top:安全区域距离顶部边界的距离
  • safe-area-inset-bottom :安全距离底部边界的距离

而env()和constant()函数有个必要的使用前提,H5网页设置viewport-fit=cover的时候才生效,小程序里的viewport-fit默认是cover。

未适配底部效果:

适配底部代码:

height: calc(96rpx+ constant(safe-area-inset-bottom));//兼容 IOS<11.2

height: calc(96rpx + env(safe-area-inset-bottom));//兼容 IOS>11.2

padding-bottom: constant(safe-area-inset-bottom);//兼容 IOS<11.2

padding-bottom: env(safe-area-inset-bottom);//兼容 IOS>11.2


// 先constant再env

适配后效果

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IOS 安全区域是指在 IOS 设备上,屏幕顶部和底部会有一些边距,这些边距是为了留出手机顶部的状态栏(包括电量、时间等信息)和底部的 Home 按钮的空间。在网页布局中,我们可以使用 `padding` 属性来给元素添加内边距,从而避开安全区域。例如,在 IOS 设备上,我们可以使用如下 CSS 代码来为页面添加内边距,从而使内容不会被状态栏遮挡: ```css body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); } ``` 注意,上述代码仅适用于 IOS 设备,对于其他平台可能不适用。 ### 回答2: CSS中的iOS安全区域是指在使用苹果设备上的浏览器显示网页时,屏幕顶部和底部的安全区域,以适应设备的刘海屏、圆角屏或者底部虚拟 Home 键的存在。 为了确保网页内容不被覆盖或者裁剪,我们可以使用CSS属性来处理iOS安全区域。其中一种方法是使用`env(safe-area-inset-top)`和`env(safe-area-inset-bottom)`属性来获取设备的安全区域尺寸,并将元素的位置和尺寸进行调整,以适应安全区域。 例如,可以通过设置`padding-top: env(safe-area-inset-top);`和`padding-bottom: env(safe-area-inset-bottom);`来为具有固定定位的元素添加上下内边距,并确保元素的内容不会被遮挡。 另外,我们还可以使用JavaScript来检测设备的安全区域尺寸,并动态地为元素添加适应性的样式。通过监听窗口的`resize`事件或者使用`window.matchMedia`方法来检测设备的屏幕方向和尺寸变化,然后根据具体情况动态地修改CSS样式。 总之,通过使用CSS和JavaScript,我们可以轻松地处理iOS设备的安全区域,确保网页内容在各种设备上都能正常显示,提升用户的浏览体验。 ### 回答3: CSS中的IOS安全区域是指在IOS设备上,屏幕上显示实际内容的安全区域。由于不同的IOS设备具有不同的屏幕尺寸和宽高比,因此为了确保内容的显示效果,在设计网页时需要考虑IOS安全区域的限制。 IOS安全区域的大小和位置是由设备的屏幕尺寸决定的。在设计时,应该避免将重要的内容或交互元素放置在安全区域之外,以免被屏幕的刘海、圆角等特殊形状遮挡。 为了确保网页在不同的IOS设备上正常显示,可以使用CSS的媒体查询来检测IOS设备,并根据不同的设备尺寸和宽高比来设置元素的大小、位置和布局。可以使用“env(safe-area-inset-top)”、“env(safe-area-inset-right)”、“env(safe-area-inset-bottom)”和“env(safe-area-inset-left)”等CSS变量来获取安全区域距离屏幕边缘的距离,然后使用这些值来调整元素的位置和尺寸,以适应不同的IOS设备。 此外,还可以使用CSS属性“padding-top”、“padding-right”、“padding-bottom”和“padding-left”来设置元素的内边距,并结合安全区域的距离值,使元素在IOS安全区域内正常显示。还可以使用“fixed”定位或“sticky”定位来确保元素始终在安全区域内可见。 总而言之,通过在设计和布局中考虑IOS安全区域的限制,并使用CSS的媒体查询和相关属性来适应不同的IOS设备,可以确保网页在IOS设备上具有良好的显示效果和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值