移動端適配:vw適配方案

vw (Viewport Width) 是一種長度單位,代表視口寬度的百分比。1vw 等于視口寬度的1%。在網頁設計和前端開發中,vw 單位常用于實現響應式設計和屏幕適配,尤其是針對不同尺寸和分辨率的移動設備。

為什么使用vw適配?

  1. 響應式: 使用vw可以確保元素的尺寸隨瀏覽器窗口或設備屏幕的大小變化而按比例調整,實現良好的響應式布局。
  2. 簡化計算: 相比于傳統的像素單位,vw讓開發者能夠更直觀地根據視口比例來設定元素尺寸,無需考慮具體像素值。
  3. 設計師與開發者對齊: 設計圖上的百分比尺寸可以直接轉換為vw單位,有助于設計與實現的一致性。

如何使用?

基于postcss插件,實現項目vw適配!

安裝

npm install postcss-px-to-viewport --save-dev// 如果報錯,就執行以下代碼安裝
// npm i postcss-px-to-viewport@1.1.1 -D --legacy-peer-depv

根目錄下新建 postcss.config.js文件,填入配置

// postcss.config.js
module.exports = {plugins: [require('postcss-px-to-viewport')({viewportWidth: 375, // 視口寬度,對應設計稿的寬度,一般為設計稿寬度的1/10viewportHeight: 1334, // 視口高度,可選,一般不需要設置unitPrecision: 5, // 單位轉換后的精度,即小數點后的位數viewportUnit: 'vw', // 轉換后的單位selectorBlackList: ['.ignore', '.hairlines'], // 不進行轉換的類名列表minPixelValue: 1, // 小于或等于這個值的px不轉換為vwmediaQuery: false, // 是否在媒體查詢的CSS代碼中也進行轉換,默認falsereplace: true, // 是否直接替換原始的px值,而不是添加備用的vw值exclude: /(node_modules|bower_components)/, // 忽略某些文件夾下的文件include: undefined, // 可以顯式地包含某些文件或文件夾}),],
};

關于viewportWidth建議取設計稿的寬度,一般設計稿是750px,但是我們移動端屏幕一般寬度為375px(以iphone SE為基準),也就是屏幕實際1px對應設計稿2px,這樣才能分配好設計稿的像素。

更新Vue配置(僅限Vue CLI)

如果使用Vue CLI,可能需要在vue.config.js中添加對PostCSS的配置,確保PostCSS被正確加載。對于Vue CLI 3及以上版本,配置通常是自動檢測的,但如果需要手動配置,可以這樣操作:

// vue.config.js
module.exports = {css: {loaderOptions: {postcss: {plugins: [require('postcss-px-to-viewport')({// 插件的配置選項同上}),],},},},
};

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

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

相關文章

互聯網醫院開發:引領智慧醫療新時代

隨著科技的迅猛發展和互聯網的普及,傳統醫療模式正在迎來一場深刻的變革。互聯網醫院的崛起,打破了時間和空間的限制,為患者和醫療機構帶來了更加便捷、高效、安全的醫療服務體驗。本文將從技術角度深入探討互聯網醫院的開發,包括…

【openpcdet中yaml文件的DATA_AUGMENTOR學習】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、代碼二、詳細解釋DISABLE_AUG_LISTAUG_CONFIG_LIST1. gt_sampling2. random_world_flip3. random_world_rotation4. random_world_scaling 總結 前言 提示…

多線程(八)

一、wait和notify 等待 通知 機制 和join的用途類似,多個線程之間隨機調度,引入 wait notify 就是為了能夠從應用層面上,干預到多個不同線程代碼的執行順序.( 這里說的干預,不是影響系統的線程調度策略 內核里的線程調度,仍然是無序的. 相當于是在應用程序…

Pod容器資源限制和探針

目錄 一、資源限制 1.Pod和容器的資源請求和限制 2.CPU 資源單位 案例一 案例二 二、健康檢查,又稱為探針(Probe) 1.探針的三種規則 2.Probe支持三種檢查方法 3.探測獲得的三種結果 案例一:exec 案例二:htt…

OneMO同行 心級服務:中移物聯OneMO模組助力客戶終端寒冷環境下的穩定運行

中移物聯OneMO模組以客戶為中心,基于中國移動心級服務要求,開展“OneMO同行 心級服務 標定一流”高標服務主題活動,升級“服務內容““服務方式”和“服務意識”,為行業客戶提供全新的服務體驗。 近日,某車載監控設備…

Hive語法學習總結

Hive SQL語法學習總結 hive參數庫操作1.創建庫2.具體案例3.庫的其他操作 表和庫的路徑演示表的操作創建表插入數據 hive參數 一 hive常用交互命令hive -e sql語句hive -f sql文件 //文件中是sql語句二 參數的設置方式一:在客戶端中設置參數(當次有效)set 參數名參…

ACM實訓第十七天

Is It A Tree? 問題 考試時應該做不出來,果斷放棄 樹是一種眾所周知的數據結構,它要么是空的(null, void, nothing),要么是一個或的集合滿足以下屬性的節點之間有向邊連接的節點較多。 ?只有一個節點,稱為根節點,它…

【Crypto】摩絲

文章目錄 一、摩斯解題感悟 一、摩斯 很明顯莫爾斯密碼 iloveyou還挺浪漫 小小flag,拿下 解題感悟 莫爾斯密碼這種題還是比較明顯的

【董曉算法】競賽常用知識之圖論3(最近公共祖先)

前言: 本系列是學習了董曉老師所講的知識點做的筆記 董曉算法的個人空間-董曉算法個人主頁-嗶哩嗶哩視頻 (bilibili.com) 動態規劃系列(還沒學完) 【董曉算法】動態規劃之線性DP問題-CSDN博客 【董曉算法】動態規劃之背包DP問題&#xff…

智能鎖千千萬,誰是你的NO.1,親身實測凱迪仕傳奇大師K70旗艦新品

智能鎖千千萬,誰是你的NO.1。歡迎來到智哪兒評測室,這次我們為大家帶來了凱迪仕傳奇大師K70系列的一款重磅新品。 在科技的浪潮中,家居安全領域正經歷著前所未有的變革。智能鎖越來越成為家的安全守護神,以及智能生活的得力助手。…

Android 11 Framework實時監聽Activity堆棧變化

核心類 Framework中有一個類SystemActivityMonitoringService專門用于監控Activity堆棧變化,屬于隱藏Api,應用側無法調用。此類位于 packages/services/Car/service/src/com/android/car/SystemActivityMonitoringService.java 方法 void registerTa…

Mysql信息脫敏

類似微信姓名脫敏: SELECT CONCAT( REPEAT(*, CHAR_LENGTH(real_name) -1 ), RIGHT(real_name, 1) ) name from user_info電話號脫敏: SELECT CONCAT(LEFT(mobile_phone, 3), REPEAT(*, 4 ), RIGHT(mobile_phone, 4) ) phone from user_info

大數據Hive中的UDF:自定義數據處理的利器(下)

在上一篇文章中,我們對第一種用戶定義函數(UDF)進行了基礎介紹。接下來,本文將帶您深入了解剩余的兩種UDF函數類型。 文章目錄 1. UDAF1.1 簡單UDAF1.2 通用UDAF 2. UDTF3. 總結 1. UDAF 1.1 簡單UDAF 第一種方式是 Simple(簡單…

每日一題《leetcode--382.鏈表隨機結點》

https://leetcode.cn/problems/linked-list-random-node/ 這道題我們首先看到題目中的要求:在單鏈表中隨機選取一個鏈表中的結點,要使每個結點被選取的概率是一樣的。 當我們看到隨機這兩個字時,應該就會想起rand()這個函數。接著我們把使用這…

[暈事]今天做了件暈事35 VM發送給gateway太多ARP,導致攻擊檢查?

最近遇到一個問題,說網關學不到新起來VM的mac地址,通過tshark抓包發現,VM已經發出去GARP了。而且連續發送了24個GARP。 就認為是網關的問題,為什么沒網關沒有學到?就讓測試同事開網絡設備的ticket。 后來聽同事說&…

自己搭建內網穿透

本文介紹使用最新版frp搭建內網穿透,最新版本的frp在配置上與之前有很大不同,需要使用.toml文件進行配置。其中主要問題出現在toml文件內部。 一、云服務器配置 下載frp sudo apt update sudo apt install wget wget https://github.com/fatedier/frp…

求出這行英文中最后一個單詞的長度

【題目描述】藍寶看到了一行奇怪的英文,這行英文由若干單詞組成,每個單詞前后用一些字符*隔開請幫助藍寶求出這行英文中最后一個單詞的長度。【輸入格式】 輸入一行,就就是藍寶看到的奇怪的英文。 【輸出格式】 輸出一行,是個整數…

文旅3d仿真數字人形象為游客提供全方位的便捷服務

在AI人工智能與VR虛擬現實技術的雙重驅動下,文旅3D數字代言人正以其獨特的魅力,頻頻亮相于各類文旅場景,為游客帶來前所未有的個性化服務體驗。他們不僅有趣有品,更能言善道,成為文旅業數字化發展的新亮點。 這些文旅3…

Android 文件加密解密(AES)

private static final String ALGORITHM "AES"; 文件加密 /*** 文件加密* param secretKey 文件加密密鑰* param oldFiles 原始文件列表,需要加密的* param newFiles 構造加密后的文件列表*(選擇多個或者單個)多個文件加密*/ Re…

我的文章分類合集目錄

文章目錄 Java相關基礎常規問題類Docker類RabbitMQ類分庫分表 網絡工程相關路由交換、Cisco Packet TracerIP地址 前端相關數據庫 Java相關 基礎 Java開發規范、項目開發流程 SpringBoot整合MyBatis實現增刪改查(簡單,詳細) SpringBoot整合MybatisPlus(詳細&#…