溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在vue中使用rem適配移動端屏幕

發(fā)布時間:2022-05-06 14:06:48 來源:億速云 閱讀:264 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細介紹“怎么在vue中使用rem適配移動端屏幕”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“怎么在vue中使用rem適配移動端屏幕”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

安裝 postcss-pxtorem

npm install postcss-pxtorem --save

新建rem.js文件

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

并引用進main.js文件內(nèi)

import './rem'

 修改.postcssrc.js 文件

在.postcssrc.js文件內(nèi)的 plugins 添加以下配置,配后就可以在開發(fā)中直接使用 px 單位開發(fā)了

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

helloworld.vue

<template>
 <div class="hello">
 test
 </div>
</template>

<script>
 export default {
 name: 'HelloWorld',
 data() {
  return {
  msg: 'Welcome to Your Vue.js App'
  }
 }
 }
</script>

<style scoped>
 .hello {
 text-align: center;
 font-size: 20px;
 width: 300px;
 height: 400px;
 background:red;
 }
</style>

效果

怎么在vue中使用rem適配移動端屏幕

補充:下面看下Vue用rem布局

使用vue.js搭建一個移動端項目,怎樣做到自適應(yīng)呢?當然選擇rem布局是比較方便快捷的。

在使用vue-cli搭建好項目框架后,在目錄結(jié)構(gòu)的index.html文件中添加一段代碼:

<script>
fnResize()
window.onresize = function () {
fnResize()
}
function fnResize() {
var deviceWidth = document.documentElement.clientWidth || window.innerWidth
if (deviceWidth >= 750) {
deviceWidth = 750
}
if (deviceWidth <= 320) {
deviceWidth = 320
}
document.documentElement.style.fontSize = (deviceWidth / 7.5) + 'px'
}
</script>

讀到這里,這篇“怎么在vue中使用rem適配移動端屏幕”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI