Vant如何自定義組件適配iphone底部安全區(qū)
場景
- IM
問題
聊天界面輸入框在iphone下被底部指示條遮蓋
如下圖:

解決方案
參考 Vant 內(nèi)置組件適配方案
Vant文檔:https://vant-contrib.gitee.io/vant/#/zh-CN/advanced-usage

Vant 內(nèi)置組件中添加了 safe-area-inset-bottom 屬性,即是在css中添加對應(yīng)樣式

iOS11 的新增特性,Webkit 的 CSS 函數(shù),用于設(shè)定安全區(qū)域與邊界的距離
它有四個預(yù)定義的變量:
safe-area-inset-left:安全區(qū)域距離左邊邊界距離safe-area-inset-right:安全區(qū)域距離右邊邊界距離safe-area-inset-top:安全區(qū)域距離頂部邊界距離safe-area-inset-bottom:安全區(qū)域距離底部邊界距離
第一步:在 index.html 的 head 標(biāo)簽中加入以下 meta:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
第二步:在項目 index.css 中添加下列樣式:
/**
* 適配 iphone 底部安全區(qū)(指示條,配合index.html <meta name="viewport" ... />使用
*/
@supports (bottom: env(safe-area-inset-bottom)){
#app {
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
}
@supports 是CSS3新引入的規(guī)則之一
主要用于檢測當(dāng)前瀏覽器是否支持某個CSS屬性并加載具體樣式
大功告成~

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue集成kindeditor富文本的實現(xiàn)示例代碼
這篇文章主要介紹了vue集成kindeditor富文本的實現(xiàn)示例代碼,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
vue-resource 攔截器(interceptor)的使用詳解
本篇文章主要介紹了vue-resource 攔截器(interceptor)的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

