首页 > 其他分享 >px2rem 实现vue rem 自适应/

px2rem 实现vue rem 自适应/

时间:2024-05-29 18:13:27浏览次数:25  
标签:vue const px2rem 适配 js rem postcss

npm install postcss-px2rem px2rem-loader --save

新建js 文件rem.js

// rem等比适配配置文件
// 基准大小
const baseSize = 16
  // 设置 rem 函数
function setRem() {
  // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
      // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
  // 改变窗口大小时重新设置 rem
window.onresize = function() {
  setRem()
}

项目main.js中引入此文件

import './rem'//引入你的路径

vue.config.js文件修改

// 引入等比适配插件
const px2rem = require('postcss-px2rem')

// 配置基本大小
const postcss = px2rem({
  // 基准大小 baseSize,需要和rem.js中相同
  remUnit: 16
})

// 使用等比适配插件
module.exports = {
  lintOnSave: true,
  css: {
      loaderOptions: {
          postcss: {
              plugins: [
                  postcss
              ]
          }
      }
  }
}
注意:行内样式会不生效,
   如果某一行css代码就想使用px为单位不想被转换有两种方案:大写PX 或 css代码后面加上注释/no/。



  

标签:vue,const,px2rem,适配,js,rem,postcss
From: https://www.cnblogs.com/7788mmhh/p/17821296.html

相关文章

  • 基于Springboot + vue实现的网上订餐系统--附源码+论文+数据库
    基于Springboot+vue实现的网上订餐系统摘 要随着我国经济的飞速发展,人们的生活速度明显加快,在餐厅吃饭排队的情况到处可见,近年来由于新兴IT行业的空前发展,它与传统餐饮行业也进行了新旧的结合,很多餐饮商户开始通过网络建设订餐系统,通过专门的网上订餐系统,一方面节省了用......
  • 学习VUE3——模板引用ref
    在某些情况下,我们仍然需要直接访问底层DOM元素。要实现这一点,我们可以使用特殊的refattribute:<inputref="input">ref是一个特殊的attribute,和v-for章节中提到的key类似。它允许我们在一个特定的DOM元素或子组件实例被挂载后,获得对它的直接引用。这可能很有用,比......
  • 如何导出与pip库版本相关的requirement.txt文件
    在Python项目中,导出与pip库版本相关的requirements.txt文件是一个常见的任务。这个文件包含当前环境中所有已安装的包及其版本信息,可以用于在其他环境中再现相同的包安装。步骤:1.激活虚拟环境首先,确保你已经激活了你的虚拟环境。如果你没有使用虚拟环境,建议你创建......
  • vue+iframe使用及踩坑
    父级引用<iframeid="自定义id"@load="iframeLoadHandle"src="引入iframe地址"frameborder="0"scrolling="auto"class="iframe-con"width="100%"height="100%"></iframe>@load......
  • vue中引入公共方法并使用
    1、在utils文件夹中新建utils.js/***通用js方法封装处理两种方式*Copyright(c)2019ruoyi*//**第一种方式*/functionmyFun(){console.log('thisismyfunction')}functionfn1(){console.log("全局方法一")}//将上面连个全局公共方法,组合成一......
  • Vue 3 设置中的新 `<script setup>` 语法是如何使用的?
    Vue3中的新<scriptsetup>语法详解Vue.js作为现代前端框架的一大代表,它简洁易用的特性和不断创新的理念吸引了一大批开发者。在Vue3中推出了很多改进和新特性,其中一个引起广泛关注的便是<scriptsetup>语法。这篇文章将详细介绍Vue3中的<scriptsetup>语法,......
  • 在 Vue 3 中如何实现代码拆分和懒加载?
    在现代开发中,前端应用越来越复杂,同时用户期望应用能够迅速响应。为了解决加载速度问题,前端框架如Vue3提供了代码拆分和懒加载功能。这不仅能提升性能,还能增强用户体验。接下来,我们将详细介绍在Vue3中如何实现代码拆分和懒加载。什么是代码拆分和懒加载?代码拆分(Code......
  • 如何处理 Vue 3 应用程序中的路由守卫?
    Vue3路由守卫详解与实战在现代Web应用程序开发中,路由守卫是一个必不可少的功能。特别是在使用Vue.js进行单页面应用开发时,更是如此。在Vue3中,路由守卫的使用有了更多的灵活性与功能。本文将详细介绍如何在Vue3应用中使用路由守卫,并通过示例代码帮助您更深入地理解和掌......
  • vue3项目使用pinia状态管理器----通俗易懂
    1、首先安装piniayarnaddpinia#或使用npmnpminstallpinia2、在项目的src目录下新建store文件夹,然后store目录下新建index.js/index.ts:我这里是index,jsimport{createPinia}from"pinia"//创建Pinia实例constpinia=createPinia()//导出Pinia......
  • vue3 组件的动态渲染 <component :is=“componentTag“ />
    1、动态渲染组件        <component:is=""></component>        通过isShow来切换显示A、B组件首先创建父组件.vue文件和两个子组件A、B文件,并引入。template:<div><h3>我是父组件dynamicComp.vue</h3><button@click="isShow=!isShow">切换......