• home > webfront > SGML > html5 >

    iphone x全屏导航自适配页面,css兼容iphone x

    Author:zhoulujun Date:

    iphonex在webview全屏的时候,导航栏会被 iphone的toolbar 遮住,ios11已经提供原生支持,部分人居然用js处理,无语了

    iphonex在webview全屏的时候,导航栏会被 iphone的toolbar 遮住,网上的 兼容方案很多,一般会用 css constant()函数——在iOS 11中的WebKit包含了一个新的CSS函数constant()

        padding-top: constant(safe-area-inset-top);
        padding-top: env(safe-area-inset-top);

    注:constant函数预定义的常量:safe-area-inset-left, safe-area-inset-right, safe-area-inset-top和 safe-area-inset-bottom,当合并一起使用时,允许样式引用每个方面的安全区域的大小。

    但是,需要说明的是,当viewport-fit:contain(默认值)时,constant函数比起作用;

    constant无论设置safe-area-inset-left, safe-area-inset-right, safe-area-inset-top还是 safe-area-inset-bottom等均无效。

    所以需要在html head标签增加一行

    <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width,height=device-height, viewport-fit=cover">

    Add viewport-fit=cover to index.html:



    次点,用媒体查询也行

    @media only screen

    and (device-width : 375px)

    and (device-height : 812px)

    and (-webkit-device-pixel-ratio : 3) {

      //适配iphone x 的代码。

    }


    2.jpg

    时至今日 IOS又用env()替代constant(),设置还是如同constant。

    现在,人家比我总结的更加详细,推荐文章:

    关于H5页面在iPhoneX适配

    iPhone X的缺口和CSS



    转载本站文章《iphone x全屏导航自适配页面,css兼容iphone x》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/SGML/html5/2017_0930_8063.html