iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中使用postcss-px2rem的两种方法
  • 861
分享到

vue中使用postcss-px2rem的两种方法

2024-04-02 19:04:59 861人浏览 泡泡鱼
摘要

目录如何使用:1.安装2.设置Vue项目中使用postCSS-px2rem的2种方法 在项目中为了屏幕适配,经常会用到rem,postcss-px2rem就是为了让我们直接在将代码中

Vue项目中使用postCSS-px2rem的2种方法

在项目中为了屏幕适配,经常会用到rem,postcss-px2rem就是为了让我们直接在将代码中px自动转化成对应的rem的一个插件.(下边的方法适用于使用cli2脚手架搭建的项目,现在好多数项目使用cli3搭建,我在后边的文章中增加了vue使用rem实现 移动端屏幕适配).)

如何使用:

1.安装

npm i postcss-px2rem --save -dev

2.设置

1).找到项目根目录下的.postcssrc文件

module.exports = {
  "plugins": {
    "postcss-import": {},
    "postcss-url": {},
    // to edit target browsers: use "browserslist" field in package.JSON
    "autoprefixer": {
      "browsers": ['last 10 Chrome versions', 'last 5 Firefox versions', 'Safari >= 8']
     },
     'postcss-px2rem':{'remUnit':75}    //配置rem基准值,75是iphone6标准
  }
}

remUnit: 75 代表 1rem = 75px; 所以当你一个75px值时,它会自动转成 (75px/75)rem,

转化完之后,你还需要在根元素设置他的font-size,因为rem是相对根元素来设置大小的

html {
    font-size: 10vw;
}

这样的话我们设置的px值 就变成对应的 10%的屏幕宽度 *(75px/75)rem

2) 找到根目录下的vue-loader.conf.js

本人使用的是这种方法.
首先需要设置html的fontsize值,1rem = html的font-size,这里咱们动态设置一下,可以直接在index.html中设置
PC端

(function () {
    function setRootFontSize() {
        let rem, rootWidth;
        let rootHtml = document.documentElement;
        //限制展现页面的最小宽度
        rootWidth = rootHtml.clientWidth < 1366 ? 1366 : rootHtml.clientWidth;
        // 19.2 = 设计图尺寸宽 / 100( 设计图的rem = 100 )
        rem = rootWidth / 19.2;
        // 动态写入样式
        rootHtml.style.fontSize = `${rem}px`;
    }
    setRootFontSize();
    window.addEventListener("resize", setRootFontSize, false);
})();

移动端

(function () {
    function setRootFontSize() {
        let dpr, rem, scale, rootWidth;
        let rootHtml = document.documentElement;
    
        dpr = window.devicePixelRatio || 1; //移动端必须设置
        //限制展现页面的最小宽度
        rootWidth = rootHtml.clientWidth < 1366 ? 1366 : rootHtml.clientWidth;
        rem = rootWidth * dpr / 19.2; // 19.2 = 设计图尺寸宽1920 / 100(设计图的rem = 100)
        scale = 1 / dpr;
    
        // 设置viewport,进行缩放,达到高清效果 (移动端添加)
        let vp = document.querySelector('meta[name="viewport"]');
        vp.setAttribute('content', 'width=' + dpr * rootHtml.clientWidth + ',initial-scale=' + scale + ',maximum-scale=' + scale + ', minimum-scale=' + scale + ',user-Scalable=no');
    
        // 动态写入样式
        rootHtml.style.fontSize = `${rem}px`;
    }
    setRootFontSize();
    window.addEventListener("resize", setRootFontSize, false);
    window.addEventListener("orientationchange", setRootFontSize, false); //移动端
})();

vue-loader.conf.js位置

'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.node_ENV === 'production'
const sourceMapEnabled = isProduction
  ? config.build.productionSourceMap
  : config.dev.cssSourceMap

const px2rem = require('postcss-px2rem')
module.exports = {
  loaders: utils.cssLoaders({
    sourceMap: sourceMapEnabled,
    extract: isProduction
  }),
  cssSourceMap: sourceMapEnabled,
  cacheBusting: config.dev.cacheBusting,
  transfORMToRequire: {
    video: ['src', 'poster'],
    source: 'src',
    img: 'src',
    image: 'xlink:href'
  },
  postcss: function() {
    return [px2rem({remUnit: 100})];
  }
}

修改完成后 记得重新编译
我还写了一篇 vue使用rem实现 移动端屏幕适配的文章,有需要的可以去看看,希望对你有帮助,多多评论指教.

到此这篇关于vue项目中使用postcss-px2rem的方法总结的文章就介绍到这了,更多相关vue使用postcss-px2rem内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue中使用postcss-px2rem的两种方法

本文链接: https://www.lsjlt.com/news/148824.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中使用postcss-px2rem的两种方法
    目录如何使用:1.安装2.设置vue项目中使用postcss-px2rem的2种方法 在项目中为了屏幕适配,经常会用到rem,postcss-px2rem就是为了让我们直接在将代码中...
    99+
    2024-04-02
  • 在vue中使用 jquery 的两种方法小结
    目录vue中使用 jquery的方法方法一方法二vue和jquery混用注意事项vue+jquery应该如何使用呢?vm实例里面如何调用外部的jq方法呢?vue中使用 jquery的...
    99+
    2022-11-13
    vue中使用jquery vue jquery 使用jquery的方法
  • 如何在Vue中调用if方法(两种方法)
    Vue是一种流行的JavaScript框架,它帮助开发人员更轻松地构建交互式Web应用程序。在Vue中,条件语句是必不可少的一部分,经常使用if语句来根据不同的条件显示或隐藏HTML元素。在本文中,我们将学习如何在Vue中调用if方法。使用...
    99+
    2023-05-14
  • Vue中使用定时器(setInterval、setTimeout)的两种方式
    目录1. 循环执行( setInterval )2. 定时执行 ( setTimeout)js中定时器有两种,一个是循环执行 setInterval,另一个是定时执行 setTime...
    99+
    2023-03-19
    Vue使用定时器 Vue定时器setInterval setTimeout
  • vue中Echarts使用动态数据的两种实现方式
    目录Echarts使用动态数据的两种方式1.通过computed2.在data中定义optionvue Echarts几种常用图表动态数据切换1.柱状图 2.平滑折线面积图...
    99+
    2022-11-13
    vue Echarts Echarts动态数据 vue使用Echarts动态数据
  • vue中记录滚动条位置的两种方法
    目录1、方法一2、方法二总结1、方法一 在点击的时候记录滚动条位置,存入本地再次进入该路由读取滚动跳位置 1、1 跳转时路由存入scroll 如果要有多个页面,可以把名称也存进去,这...
    99+
    2023-01-16
    vue 滚动条位置 vue监听滚动条的位置 vue获取滚动条位置
  • vue怎么加属性(两种方法)
    在Vue中加属性,有两种方式:方法一:通过直接在data中定义属性我们可以在Vue的data中定义对应的属性,在Vue实例中使用。例如,我们现在要在Vue实例中添加一个属性,可以这样写:<div id="app"&...
    99+
    2023-05-14
  • VUE中filters过滤器的两种用法实例
    目录前言一、全局过滤器全局过滤器之单一挂载全局过滤器之批量挂载二、组件过滤器附:过滤器中传入多个参数总结前言 Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化。过滤器...
    99+
    2024-04-02
  • 使用vue打包时gzip压缩的两种方案
    目录介绍两种gzip压缩的方式webpack打包生成gz文件服务器在线gzip压缩vue项目开启gzip压缩前端配置后端配置开局一张图: 可以看出,在项目部署后,我们的资源文件请求...
    99+
    2024-04-02
  • vue使用json最简单的两种方式分享
    目录使用json最简单方式第一种第二种vue使用json假数据第一种json数据写在js文件中直接引入使用第二种使用json-server ./xxx.json 使用 生成请求接口使...
    99+
    2024-04-02
  • Vue中导入excel文件的两种方式及使用步骤
    目录导入excel文件前言第一种方法:form表单一、文件上传的三要素是什么?二、具体使用步骤第二种方法:el-upload导入excel文件 前言 两种导入文件的方法:form表单...
    99+
    2022-12-22
    Vue导入excel文件 Vue excel文件
  • postMessage的两种使用方式
    postMessage是一个用于跨窗口通信的方法,它有两种使用方式:1. 发送消息给指定窗口:可以使用postMessage方法将消...
    99+
    2023-08-15
    postMessage
  • python函数的两种嵌套方法使用
    目录交叉嵌套回环函数python函数的两种嵌套方法使用函数的嵌套有两种方式: 交叉嵌套回环嵌套 交叉嵌套 交叉嵌套的方式是在本函数中调用同一级或上一级函数的嵌套方法: def fun...
    99+
    2024-04-02
  • React html中使用react的两种方式
    基本使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8...
    99+
    2024-04-02
  • MyBatis中的collection两种使用方法及效率比较
    目录第一种方式,采用select第二种方式,执行一次sql比较collection主要是应对表关系是一对多的情况 查询的时候,用到联表去查询 接下来的小案例包括:市,学校,...
    99+
    2024-04-02
  • 配置vue全局方法的两种方式实例
    目录1,前言2,第一种方式3,第二种方式总结1,前言 在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,...
    99+
    2024-04-02
  • vue中qs的两个方法怎么用
    本篇内容主要讲解“vue中qs的两个方法怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中qs的两个方法怎么用”吧!qs的两个方法是:1、stringify方法,用于将对象序列化成ur...
    99+
    2023-07-04
  • vue怎么获取表单中的行对象(两种方法)
    在Vue中,我们使用v-for指令可以循环渲染列表。如果我们需要获取表单中被选中的某一行的数据,应该怎么做呢?在本文中,我将为大家详细介绍如何使用Vue的v-for指令和事件绑定来获取表单中的行对象。一、v-for指令我们先来看一下v-fo...
    99+
    2023-05-14
  • SpringBoot中使用Servlet的两种方式小结
    目录1.方式一(使用注解)2.方式二(定义配置类)1.方式一(使用注解) 首先,我们写一个Servlet。要求就是简单的打印一句话。 在MyServlet这个类的上方使用 @WebS...
    99+
    2024-04-02
  • Vue框架使用PostCSS的原因是什么
    本篇内容介绍了“Vue框架使用PostCSS的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用PostCss的原因大家都知道转换...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作