IPhoneX网页布局

简介:

安全区域

image

image

何为安全区域,简单来讲就是我们在此区域内设置一些交互的按钮或者链接不会被影响。下图的话底部按钮就会受到一些影响,图片随意截取,请勿在意:

image

viewport-fit

可喜可贺,IOS11给我们提供了一个新特性 viewport-fit

说明
auto/contain 页面默认内嵌
cover 页面充满屏幕

<meta name="viewport" content=" viewport-fit=cover">

viewport-fit默认情况下是 auto 我们可以看一下同一个页面不设置 viewport-fit 和设置其为 cover 的两种表现形式:

  • 不设置:
    image

  • 设置为 cover
    image

当然,在横屏情况下我们可以更清晰地看到,设置cover可以使我们的页面导航和tag更加符合设计,但是内部的我们应该怎样进行布局呢?是直接使用 padding 还是有别的方法呢?

CSS constant()函数

我们可以通过计算其padding值来进行布局,解决文字被埋在传感器底部的问题。

但是IOS11给我们提供了更简单的办法。WebKit 中新增了一个 CSS 函数 constant(),以及一组 四个已经定义好的常量: safe-area-inset-leftsafe-area-inset-rightsafe-area-inset-topsafe-area-inset-bottom。这四个常量分别代表了每个方向的非安全区域的值:

image

那我们试着现在给刚刚的被传感器覆盖的页面增加一些css:

.con {
    padding: 12px;
    padding-left: constant(safe-area-inset-left);
    padding-right: constant(safe-area-inset-right);
}

image

是的。完美的效果。

瑕疵问题

但是如果现在我们现在把手机换成竖屏的话,会出现一些小瑕疵,因为我们设置的是 padding-left 和 padding-right 为安全区域外的变局的常量,所以当我们竖过来后,竖屏模式的 safe-area-inset-left 和 safe-area-inset-right 为0,那么文字还是会贴边的。

新的CSS函数 min() 和 max() 可以帮我们在不通过JS的情况下简单解决这个问题。(PS:现Safari暂未支持)

@supports(padding: max(0px)) {
    .con {
        padding-left: max(12px, constant(safe-area-inset-left));
        padding-right: max(12px, constant(safe-area-inset-right));
    }
}

这样的话 padding-left 会取较大的那个值。当 safe-area-inset-left 为0时候,其值会为 12px

本文讲的一些方法对于现阶段的IPhone网页布局其实还是有一些兼容问题

  • constant() 需要我们对不支持的浏览器做一些兼容回退,并且CSS工作组对这个方法使用了不同的名称
  • max() 和 min() 方法现阶段还没有支持,我们还是要采用判断横竖屏的方法进行动态的设置,或者直接也抛弃 constant() 做固定的padding值。
  • 在使用定位的时候如果和理想效果有偏差可以试试设置 body,html 的高度为 100%

全屏时代即将来临,未来我们应该有更多的方法进行网页布局。

目录
相关文章
|
1月前
|
前端开发
纯css实现的3D立体鸡蛋动画视觉效果
纯css实现的3D立体鸡蛋动画视觉效果
29 6
纯css实现的3D立体鸡蛋动画视觉效果
|
5月前
|
iOS开发
水波涟漪,使用SwiftUI做一个仿iPhone隔空投送动画~
水波涟漪,使用SwiftUI做一个仿iPhone隔空投送动画~
68 0
非常漂亮的纯css3实现多彩侧边导航(非常流畅),附效果演示
非常漂亮的纯css3实现多彩侧边导航(非常流畅),附效果演示
|
9月前
|
iOS开发 开发者
iPhoneX-关于底部的那个一个横条的问题
作为一个iOS开发者,每一次苹果的推陈出新,都会为引用适配和开发过程带来新的挑战,最近刚入手了一个iPhone X。把玩的还是很舒适的,但是应用的适配总是有一定的过程的,这种阵痛还是要忍受的。但是有一个体验就不是很好了,在看视频的时候视频底部永远会有那么一个被苹果称之为“HomeIndicator”的横条。我是没有什么强迫症,但是也很烦。所以今天就打算研究一下怎么去掉这个讨人厌的横条。
|
前端开发 容器
暗夜发光,独自闪耀,盘点网页暗黑模式(DarkMode)下的特效和动效,CSS3实现
众所周知,网页的暗黑模式可以减少屏幕反射和蓝光辐射,减少眼睛的疲劳感,特别是在夜间使用时更为明显。其实暗黑模式也给霓虹灯效应(Neon Effect)提供了发挥的环境。 霓虹灯效应是一种视觉效果,其特点是在深色背景上使用鲜艳的颜色来产生强烈的视觉冲击。这种效应通常用于设计海报、广告、标志和网页等。霓虹灯效应的作用在于吸引人们的注意力和增强品牌形象的辨识度,因为这种效果让人印象深刻且易于记忆,本次我们盘点适合暗色模式的网页特效,还是喜欢,暗夜的你。
暗夜发光,独自闪耀,盘点网页暗黑模式(DarkMode)下的特效和动效,CSS3实现
|
前端开发 Android开发
巧用 CSS 实现酷炫的充电动画
巧用 CSS 实现酷炫的充电动画
391 0
巧用 CSS 实现酷炫的充电动画
|
JavaScript 前端开发
9套迷人精致的CSS3 3D按钮动画
9套迷人精致的CSS3 3D按钮动画
294 0
15款手机CSS3动画导航特效
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
829 0
通通玩blend美工(6)上——仿iPhone滚动选择器的ListBox(UI设计)
原文:通通玩blend美工(6)上——仿iPhone滚动选择器的ListBox(UI设计)       好久没更新博客了,由于项目比较紧,期间收到不少园友的短消息,感谢大家对我的支持~~。   相信各位都在自己的神机中看到过各种滚动选择器,偶们项目经理就是个iPhone迷,前几天一直抬着个手机对我说"这个炫,做这个...".于是就有了这个选择器。
1033 0