vue px 轉rem

来源:https://www.cnblogs.com/Byme/archive/2019/04/26/10773696.html
-Advertisement-
Play Games

來自:https://www.cnblogs.com/wangqiao170/p/8652505.html 侵 刪 每一個認真生活的人,都值得被認真對待 來自:https://www.cnblogs.com/wangqiao170/p/8652505.html 侵 刪 每一個認真生活的人,都值得被認 ...


來自:https://www.cnblogs.com/wangqiao170/p/8652505.html 侵 刪   每一個認真生活的人,都值得被認真對待

vue px轉換為rem

前端開發中還原設計圖的重要性毋庸置疑,目前來說應用最多的應該也還是使用rem。然而很多人依然還是處於刀耕火種的時代,要麼自己去計算rem值,要麼依靠編輯器安裝插件轉換。

而本文的目標就是通過一系列的配置後,在開發中可以直接使用設計圖的尺寸開發,項目為我們自動編譯,轉換成rem

技術棧

  • vue-cli:使用腳手架工具創建項目。
  • postcss-pxtorem:轉換px為rem的插件。

自動設置根節點htmlfont-size

因為rem單位是相對於根節點的字體大小的,所以通過設置根節點的字體大小可以動態的改變rem的大小。

原理網上有很多文章分享,這裡不具體解釋。

1、創建rem.js文件

很多人寫這種小工具文件會習慣性的加上閉包,這個其實是沒有必要的。ES6中每個文件都是單獨的一個模塊。

// 基準大小
const baseSize = 32
// 設置 rem 函數
function setRem () {
  // 當前頁面寬度相對於 750 寬的縮放比例,可根據自己需要修改。
  const scale = document.documentElement.clientWidth / 750
  // 設置頁面根節點字體大小
  document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改變視窗大小時重新設置 rem
window.onresize = function () {
  setRem()
}

2、在main.js中引入rem.js

import './utils/rem'

引入文件後,查看頁面的html節點,是否有被自動添加 font-size

註意:完成到這一步,也就是實現了rem佈局,實際開發的時候,還是需要我們去計算對應的rem值去開發。

下一步我們就配置一下webpack,自動轉換px為對應的rem值。

配置 postcss-pxtorem 自動轉換px為rem

1、安裝 postcss-pxtorem

$ npm install postcss-pxtorem -D

2、修改根目錄 .postcssrc.js 文件

找到 plugins 屬性新增pxtorem的設置

"postcss-pxtorem": {
  "rootValue": 32,
  "propList": ["*"]
}

按照上述配置項目後,即可在開發中直接使用 px 單位開發。

例如設計給出的設計圖是 750 * 1136,那麼可以直接在頁面中寫

body {
	width: 750px;
	height: 1136px;
}

將被轉換為

body {
	widht: 23.4375rem;
	height: 35.5rem;
}

註意:此方法支持import 和 .vue單文件中style。暫不支持style中使用@import url();


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 也不存在什麼載入咯, 就是一個判斷滾動條是否到達瀏覽器底部了。 如果到了就觸發事件,米到就不處理。 計算公式提簡單的 底部等於(0) = 滾動條高度 - 滾動條頂部距離 - 可視高度。 反正結果就是0。 一、獲取滾動條位置 二、給根節點綁定滾動事件 vue給body元素綁定滾動條事件,真TMD草蛋。 ...
  • 1、先說下html轉換為pdf:其實支持直接生成,有三個函數pdfkit.f 安裝python包:pip Install pdfkit 系統安裝wkhtmltopdf:參考 https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtm ...
  • 我的問題大家可能不太懂,我詳細再解釋一下,就是我通過遍歷一個大的數組,多層遍歷之後,最後的值還是一個小的數組,形如: 我想把bbb下的數組變成以逗號或者豎線分割的字元串放在iview中input中,我的代碼如下: 這裡kv.value就是一個數組,是經過若幹層遍歷的最後一層,我通過直接在v-mode ...
  • 微信小程式剛出沒多久時,曾經上手寫過demo,但開發體驗比較差,所以一直沒怎麼關註。不過自從諸多適配方案出爐,以及雲端的開通,覺得還是有必要上手體驗一番的,於是為我的技術博客也寫了個小程式版。 原生開發我是不想再試了,那就選一種適配方案,目前比較知名的有基於vue的 mpvue , umi app ...
  • 簡單的數組去重是比較簡單的,方法也特別多,如給下麵的數組去重: 最常用的可以用for迴圈套for迴圈,再用splice刪除重覆的數組: 然而數組的子集為對象時,一般不使用多個for迴圈來去重,如下麵的數組對象: 通過觀察,我們可以發現該數組中的第1、3、4項其實是一樣的,最初在谷歌找了幾個方法最終都 ...
  • 裡層div絕對定位,因為不知道具體按鈕數量,所以整個寬度是自適應的,用絕對進行居中,外層div相對定位,控制上下距離,適用於不用頁面不同高度需求,只用一次就絕對定位硬寫。。。。 ...
  • html代碼(test.html),js在html底部 具體代碼如下所示: php代碼 (test.php) ...
  • Math是javascript的一個內部對象,該對象的方法主要是一些數學計算方法floor:下退 Math.floor(12.9999) = 12ceil:上進 Math.ceil(12.1) = 13;round: 四捨五入 Math.round(12.5) = 13 Math.round(12. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...