constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中,padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom); 這兩個 CSS 屬性用于處理 iPhone X 及更高版本設備的安全區域(safe area)。這些設備的底部有一個“Home Indicator”,為了避免內容被這個指示器遮擋,可以使用這些屬性來動態調整底部的內邊距。

詳細說明

  1. constant(safe-area-inset-bottom):

    • 這是舊的語法,用于 iOS 11.2 及更早版本。
    • 在 iOS 11.2 及更高版本中,推薦使用 env(safe-area-inset-bottom)
  2. env(safe-area-inset-bottom):

    • 這是新的語法,推薦使用。
    • 適用于 iOS 11.2 及更高版本。

使用示例

為了確保兼容性,通常會同時使用這兩個屬性。以下是一個示例,展示了如何在微信小程序中使用這些屬性來處理安全區域。

示例代碼
/* app.wxss */
.container {display: flex;flex-direction: column;height: 100vh;padding-bottom: constant(safe-area-inset-bottom); /* 舊的語法 */padding-bottom: env(safe-area-inset-bottom); /* 新的語法 */
}.content {flex: 1;background-color: #f0f0f0;
}.footer {background-color: #fff;padding: 10px;text-align: center;border-top: 1px solid #ccc;
}
解釋
  1. .container:

    • 使用 padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom); 來確保內容不會被底部的 Home Indicator 遮擋。
    • height: 100vh; 使容器占滿整個視口高度。
  2. .content:

    • 使用 flex: 1; 使內容區域占據剩余的空間。
  3. .footer:

    • 這是一個示例底部欄,確保底部欄不會被 Home Indicator 遮擋。

完整示例

以下是一個完整的示例,展示了如何在微信小程序中使用這些屬性。

app.json
{"pages": ["pages/index/index"],"window": {"navigationBarTitleText": "Safe Area Example"}
}
app.wxss
/* app.wxss */
.container {display: flex;flex-direction: column;height: 100vh;padding-bottom: constant(safe-area-inset-bottom); /* 舊的語法 */padding-bottom: env(safe-area-inset-bottom); /* 新的語法 */
}.content {flex: 1;background-color: #f0f0f0;display: flex;justify-content: center;align-items: center;
}.footer {background-color: #fff;padding: 10px;text-align: center;border-top: 1px solid #ccc;
}
pages/index/index.js
// pages/index/index.js
Page({data: {message: 'Hello, Safe Area!'}
})
pages/index/index.json
{}
pages/index/index.wxml
<!-- pages/index/index.wxml -->
<view class="container"><view class="content"><text>{{message}}</text></view><view class="footer"><text>Footer Content</text></view>
</view>
pages/index/index.wxss
/* pages/index/index.wxss */
/* 這里可以添加特定于該頁面的樣式 */

總結

通過在 CSS 中使用 padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);,可以確保微信小程序的內容不會被 iPhone X 及更高版本設備的底部 Home Indicator 遮擋。這樣可以提升用戶體驗,確保內容在不同設備上的顯示效果一致。

如有開發的需求聯系我

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75966.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75966.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75966.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

十二、Cluster集群

目錄 一、集群簡介1、現狀問題2、集群作用 二、集群結構設計1、集群存儲設2、消息通信設計 三、Cluster集群三主三從結構搭建1、redis.conf配置文件可配置項2、配置集群3、鏈接集群4、命令客戶端連接集群并使用 四、集群擴容1、添加節點2、槽位分配3、添加從節點 五、集群縮容1…

Java基礎 3.29

1.數組的相關注意事項 錯誤示范一 String strs[] new String[2]{"a", "b"}; 正確示范一 String strs[] new String[]{"a", "b"}; 讓JVM自己判斷有幾個數據&#xff0c;無需再其中寫明有幾組數據 錯誤示范二 String strs[] new…

從入門到精通:HTML 項目實戰中的學習進度(一)

一、基礎夯實階段 1.1 HTML 文檔結構與核心語法 在 HTML5 的世界里&#xff0c;構建一個文檔就像是搭建一座大廈&#xff0c;堅實的基礎至關重要。HTML5 文檔的基礎框架以<!DOCTYPE html>聲明開場&#xff0c;這就好比是給瀏覽器下達的一份 “指令書”&#xff0c;明確…

FFmpeg —— 實時繪制音頻波形圖(附源碼)

?? FFmpeg 相關音視頻技術、疑難雜癥文章合集(掌握后可自封大俠 ?_?)(記得收藏,持續更新中…) 實時繪制音頻波形圖 步驟 ????? ??????????FFmpeg打開媒體文件,讀取每一包數據,將音頻數據包進行緩沖,一包一包處理音頻緩沖,對音頻緩沖包進行解碼,讀…

大數據學習(88)-zookeeper實現的高可用(HA)

&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4dd;支持一…

基于MFC按鈕邏輯

void CSUCCES1Dlg::SetDlgItemState()//IDC_BTN_INIT初始化按鈕 { GigeState state = GigeState::ARV_NONE;//GigeState是一個枚舉類型,stat狀態為ARV_NONE int idx = ((CListBox*)GetDlgItem(IDC_LIST_GIGE))->GetCurSel();//GetDlgItem 是 MFC 框架提供的一個成員…

EF Core 樂觀并發控制(并發令牌)

文章目錄 前言一、樂觀并發的核心思想二、實現方法1&#xff09;使用并發令牌&#xff08;Concurrency Token&#xff09;2&#xff09;處理并發沖突 三、工作原理四、適用場景五、與悲觀并發的對比六、最佳實踐總結 前言 Entity Framework (EF) Core 默認支持 樂觀并發控制&a…

解決 FFmpeg 使用 C/C++ 接口時,解碼沒有 shell 快的問題(使用多線程)

一、問題 硬件設備為香橙派 5Plus&#xff0c;最近需要使用硬件視頻解碼來加速 YOLO 的檢測&#xff0c;shell 窗口的FFmpeg已經調通&#xff0c;詳見文章&#xff1a; 編譯支持 RKmpp 和 RGA 的 ffmpeg 源碼_rk3588 ffmpeg mpp-CSDN博客https://blog.csdn.net/plmm__/article…

工業控制網絡中常用的通信協議

1. 現場總線協議 Modbus 概述&#xff1a;Modbus 是最廣泛使用的工業協議之一&#xff0c;主要用于串行通信&#xff0c;支持主/從架構&#xff0c;通過 RS-232 或 RS-485 傳輸&#xff0c;也有基于以太網的 Modbus TCP 版本。特點&#xff1a;簡單易用&#xff0c;易于實現&am…

【Mac】npm error Error: EACCES: permission denied, mkdir‘/Users/...

問題描述&#xff1a;Mac電腦中的 vscode 下載依賴的時候提示沒有權限&#xff1a; 故障分析 首先賬號是有權限的&#xff0c;電腦就建了一個賬號是管理員&#xff1b;在桌面用shell直接執行命令npm init 命令可以執行成功&#xff0c;那么問題就出在vscodes上面了&#xff0…

Ruby 簡介

Ruby 簡介 引言 Ruby 是一種廣泛使用的動態、開源的編程語言,自 1995 年由日本程序員 Yukihiro Matsumoto(通稱 Matz)設計以來,它以其優雅的語法、強大的庫支持和跨平臺特性贏得了全球開發者的青睞。本文將詳細介紹 Ruby 的起源、特點、應用領域以及它在現代軟件開發中的…

[Qt5] QMetaObject::invokeMethod使用

&#x1f4e2;博客主頁&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01;&#x1f4e2;本文由 丶布布原創&#xff0c;首發于 CSDN&#xff0c;轉載注明出處&#x1f649;&#x1f4e2;現…

Windows10清理機器大全集

Windows10清理機器大全集 寫在前面先這么個標題&#xff0c;逐漸補充禁止Update移除Microsoft Compatibility Telemetrywindows-defender-remover其它 寫在前面 看到標題&#xff0c;讀者已經就吐了。 我是說&#xff0c;我非常認可: IT從業者&#xff0c;如果你銀子比較充足&…

【AI】NLP

不定期更新&#xff0c;建議關注收藏點贊。 目錄 transformer大語言模型Google Gemma疫情網民情緒識別 整體框架 baseline構建 模型調參、模型優化、其他模型 數據trick、指標優化、magic feature 數據增強、偽標簽、遷移學習 模型融合sklearn中TFIDF參數詳解 頻率閾值可以去掉…

如何為 Debian 和 Kali 系統更換軟件源并更新系統

在 Linux 系統中&#xff0c;軟件源&#xff08;Software Repository&#xff09;是獲取軟件包和更新的核心途徑。然而&#xff0c;默認的軟件源可能會因為地理位置、網絡狀況等原因導致下載速度緩慢&#xff0c;甚至無法訪問。為了提升系統的軟件獲取效率&#xff0c;許多用戶…

android 一步完成 aab 安裝到手機

家人們誰懂&#xff01;在 Android 系統安裝 aab 應用超麻煩。滿心期待快速體驗&#xff0c;卻發現 aab 無法直裝&#xff0c;得先轉為 apks 格式&#xff0c;這過程復雜易錯。好不容易轉好&#xff0c;還得安裝 apks&#xff0c;一番折騰&#xff0c;時間與耐心全耗盡。別愁&a…

mac部署CAT監控服務

在 Mac 上部署美團點評開源的 CAT 監控服務端&#xff0c;可以按照以下步驟操作&#xff1a; 1. 環境準備 1.1 安裝依賴 確保已安裝以下工具&#xff1a; JDK 8&#xff08;建議 OpenJDK 11&#xff09; MySQL 5.7&#xff08;存儲監控數據&#xff09;&#xff08;8.0不支持…

C語言基礎:第10天筆記

內容提要 函數 函數的概述 函數的分類 函數的定義 形參和實參 函數的返回值 函數 函數的概述 函數&#xff1a;實現一定功能的&#xff0c;獨立的代碼模塊&#xff0c;函數是c程序的核心構成模塊&#xff0c;可以說c程序就是由眾多的函數組成&#xff0c;對于函數的使用…

集成開發環境革新:IntelliJ IDEA與Cursor AI的智能演進

集成開發環境革新&#xff1a;IntelliJ IDEA 與 Cursor AI 的智能演進 集成開發環境&#xff08;IDE&#xff09; 是軟件開發者必不可少的工具。一個優秀的 IDE 不僅能夠幫助編寫和調試代碼&#xff0c;還能集成版本控制和代碼優化等多種功能。如今&#xff0c;隨著人工智能&a…

【Django】教程-1-安裝+創建項目+目錄結構介紹

歡迎關注我&#xff01;后續會更新django教程。一周2-3更&#xff0c;歡迎跟進&#xff0c;本周會更新第一個Demo的單獨一個模塊的增刪改查【Django】教程-4-一個增刪改查的Demo【Django】教程-2-前端-目錄結構介紹【Django】教程-3-數據庫相關介紹 1.項目創建 1.1 安裝 Djan…