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)文章
Vue2實現(xiàn)數(shù)字滾動翻頁效果的示例代碼
這篇文章主要為大家詳細(xì)介紹了Vue2如何實現(xiàn)數(shù)字滾動翻頁效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下2024-03-03
vue如何解決el-select下拉框顯示ID不顯示label問題
這篇文章主要介紹了vue如何解決el-select下拉框顯示ID不顯示label問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
vant?Cascader級聯(lián)選擇實現(xiàn)可以選擇任意一層級
這篇文章主要介紹了vant?Cascader級聯(lián)選擇實現(xiàn)可以選擇任意一層級方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
vue3-vue-router創(chuàng)建靜態(tài)路由和動態(tài)路由方式
這篇文章主要介紹了vue3-vue-router創(chuàng)建靜態(tài)路由和動態(tài)路由方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
Vue3除了keep-alive還有哪些實現(xiàn)頁面緩存詳解
Vue3中的keep-alive組件用于緩存頁面,以便在切換頁面時保留其狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Vue3除了keep-alive還有哪些實現(xiàn)頁面緩存的相關(guān)資料,需要的朋友可以參考下2024-04-04
vue項目中將element-ui table表格寫成組件的實現(xiàn)代碼
這篇文章主要介紹了vue項目中將element-ui table表格寫成組件的方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06
Vue多頁面配置打包性能優(yōu)化方式(解決加載包太大加載慢問題)
這篇文章主要介紹了Vue多頁面配置打包性能優(yōu)化方式(解決加載包太大加載慢問題),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

