<wbr id="flpi4"><legend id="flpi4"></legend></wbr>

    <em id="flpi4"></em>

      <nav id="flpi4"></nav>
      <em id="flpi4"><span id="flpi4"></span></em><form id="flpi4"></form><wbr id="flpi4"><pre id="flpi4"></pre></wbr>

      <strike id="flpi4"><pre id="flpi4"></pre></strike>

      怎樣寫一個適配iPhoneX的底部導航?

      日期:2018-10-18點擊:2725

      iPhoneX發布至今已經有將近一年的時間了,各類app都多多少少做了iPhoneX的適配,那對于我們H5頁面該做哪方面的適配呢?


      首先了解安全區域(safe area)的概念,它保證了內容在設備上的正確嵌入,不會被狀態欄、導航欄等遮擋。


      -- by Apple's Human Interface Guidelines (通過蘋果的人機界面指南)

      引言.jpg

      圖一


      對于h5頁面來說,通常是在瀏覽器或app的webview這樣的“容器”中打開,這些容器大都會做這樣的適配:

      QQ截圖20181018154656.jpg

      圖二


      可以看到,這些容器都會保證頁面頂部在安全區內,而為了保證全屏體驗的效果,底部會占滿屏幕。

      在不考慮橫屏瀏覽的情況下,我們只需要對底部導航做一個適配就可以了

      如下圖所示,iPhoneX底部的危險區域高度為34pt,對應@3x頁面像素值為102px。我們可以根據這個值對底部導航做適配。

      圖2配置.jpg

      圖三

      底部導航適配三法

      1. js基本實現

      js適配方法1.jpg


      2.js動態適配

      如上圖二所示,針對有底部欄的瀏覽器,頁面滾動過程中底部欄顯示、隱藏的情況,我們可以做一個動態適配:

      js適配2.jpg


      3.純css實現

      js3.jpg


      總結

      js實現除了不夠優雅沒啥毛病,css實現因為是依賴于ios11版本的safari,有兼容性問題(測試發現內核為AppleWebkit/604.3.5的qq瀏覽器不支持,其他瀏覽器正常。具體兼容到哪個版本還未查到相關資料)


      References


      1.iPhone X - Overview - iOS Human Interface Guidelines


      2.三分鐘弄懂iPhoneX設計尺寸和適配


      3.“The Notch” and CSS


      4.Designing Websites for iPhone X


      5.iPhone X layout features with CSS Environment variables(需翻墻)


      6.CSS Round Display Level 1








      張生:13751841126
      梁生:13826047785
      .com
      思思久久99热免费精品6