如何在vue项目中使用rem布局

news2025/2/25 4:38:49

如何在vue项目中使用rem布局

场景:

在我们开发移动端项目中,实现手机页面布局,需要使用rem布局,那么该如何使用呢?

本文就详细的讲解了在vue项目中使用rem布局的整个过程,可以仔细阅读哦!

方法:

(1)使用lib-flexbile

(2)使用postcss-pxtorem

注意:

两种方法选其一使用哦,避免冲突!! !

方法一:使用lib-flexible

1. 安装包

npm i lib-flexible

2. 引入文件

在main.js(入口)中引入js文件 ---  

import 'lib-flexible/flexible.js'

3. 根据需要设置rem

在node_modules文件中找flexible设置rem
为了方便可以设置rem为  width / 37.5 
相当于1rem=10px

在这里插入图片描述

步骤

4.使用rem

//比如设置p标签字体大小为24px

p {
	font-size:2.4rem
}

方法二:使用postcss-pxtorem

1. 安装包

//安装 postcss-pxtorem
npm i postcss-pxtorem -s

2. 创建rem.js文件

在src目录新建rem文件夹(一般情况下可以创建util文件夹),新建rem.js,添加如下代码

//兼容处理
function setHtml() {
    //获取设备宽度
    var deviceWidth = document.documentElement.offsetWidth;
    //给html标签设置fontSize,就是给rem赋值
    document.documentElement.style.fontSize = deviceWidth / 375 * 10 + 'px';
}

//窗口大小变化的时候执行
window.onresize = setHtml;
//页面初始加载时也要触发
setHtml();

3. 新建 .postcssrc.js

在项目根目录新建 .postcssrc.js(注意 . 不要忘记加),添加代码如下:

module.exports = {
 "plugins": {
 "postcss-pxtorem": {
  "rootValue": 37.5,
  "propList": ["*"]
 }
 }
}

4. 在main.js中引入

注意:路径根据自己新建的文件夹为准

import '@/rem/rem.js'

5. 设置body的font-size

html {
    font-size: 10px;  // 相当于1rem = 10px
}

body {
    font-size: 16px;
}

6. 可参照流程图

步骤

以上就是vue如何使用rem适配的两种方法,有其他方法的uu们欢迎在评论区回复哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对象 和 json 互转 四种方式 json-lib、Gson、FastJson、Jackson

文章目录一、 json-lib二、 Google的Gson1.简介2. 配置步骤1. MAVEN 依赖引入2. gsonUtil 工具类3. 排除不要序列化的熟悉注解类 Exclude三. 阿里巴巴的FastJson1.简介2.配置步骤1.引入maven2. 配置 CustomFastjsonConfig3. 测试4. 开源的Jackson简介:Jackson配置Ob…

手把手教你入门Vue,猴子都能看懂的教程

目录标题一、Vue简介二、模板语法2.1 插值语法2.2 指令语法三、数据绑定3.1 单向数据绑定3.2 双向数据绑定四、写法区别4.1 el写法4.2 data写法五、MVVM模型六、数据代理七、事件处理7.1 基本使用7.2 修饰符7.3 键盘事件7.3.1 系统提供7.3.2 原始key值7.3.3 系统修饰键八、计算…

【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿 offer(秋招) 🥇推荐学习&…

微信小程序实现文字长按复制、一键复制功能

一、不引入外部组件的实现方式 <!-- index.wxml --> <view><!-- 长按复制 --><view bindlongtap"copyText" data-key"{{item.cdkey}}">{{ item.cdkey }}</view><text bindlongtap"copyText" data-key"{{i…

【Web实战-Tomcat-Servlet-Thymeleaf -JDBC-MySQL】浏览器页面显示数据库数据(水果库存系统)

&#x1f947;作者 .29. 的✔博客主页✔ &#x1f947;记录JavaWeb学习的专栏&#xff1a;Web专栏 &#x1f947;拼搏起来吧&#xff0c;未来会给你开出一个无法拒绝的条件… 您的点赞&#xff0c;收藏以及关注是对作者最大的鼓励喔 ~~ 客户端展示库存数据前言一、Thymeleaf - …

每天一个CSS小特效,文字闪烁——【钢铁侠:爱你三千遍】

文章目录前言效果图HTML篇CSS篇1. 盒子模型设置2. 动画设置完整代码前言 我是前端小刘不怕牛牛&#xff0c;love you 3000&#xff0c;愿你能遇到值得的人。 今天分享一个唯美的文字闪烁CSS特效 希望大家能喜欢 效果图 HTML篇 代码&#xff1a; <div class"main"…

uniapp中获取dom元素的方法,更改dom元素颜色(遇坑记录)

前言 最近写uniapp&#xff0c;遇到一个需要获取到页面中dom元素&#xff0c;我第一反应是使用this.$ refs进行获取&#xff0c;于是我开心的使用this.$refs写了很多代码&#xff0c;使用h5调试的过程中没有发现任何问题&#xff0c;但后来真机调试的时候发现在app端无效&…

npm安装报错(npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_ca...)

使用npm安装时候报错了 根据网上经验解决方法&#xff1a; 1.删除.npmrc文件 该文件在&#xff1a;C:\Users{账户}\下的.npmrc文件&#xff0c; 一般这种类型的都是默认被隐藏&#xff0c;一定要选择将隐藏取消掉 删掉即可。 注意&#xff1a;当前方式确实是最有效的操作&…

猿创征文|如何在HbuilderX中运行Vue

第一步&#xff1a;安装Node.js 这里不加赘述&#xff0c;是傻瓜式安装 第二步&#xff1a;找到安装的Node在哪里 如果找不到可以打开cmd 输入 where node 第三步&#xff1a;打开HbuilderX 点击工具 选择设置 如图&#xff1a; 选择运行配置 ②③的位置是需要填写的位置 使用我…

vue项目首屏加载过慢解决方案

前言 因为我的一个vue项目首页打开加载了好久&#xff0c;所以决定优化一下。发现是打包体积太大了&#xff0c;页面才加载慢主要是第三方库。 优化着优化着就想要更好一点&#xff0c;于是逛博客搜索&#xff0c;参照了几个博主的解决方法整理出一下几点。​ 一、防止编译文…

如何在vscode里面快速运行html代码(包含如何在vscode里面编写html代码)

前言必读 读者手册&#xff08;必读&#xff09;_云边的快乐猫的博客-CSDN博客 前言&#xff1a; 1.如何在vscode编写html代码在我的另一篇文章当中有详细教程&#xff0c;这是超链接。 2.很多小伙伴编写了html代码后&#xff0c;在vscode里面右键找不到如何去运行代码&…

NProgress的用法

最近&#xff0c;应该很多小伙伴都找到前端开发的工作了吧。怎么样&#xff1f;工作中的代码是不是比机构学的代码复杂很多倍&#xff1f; 比如说 router里面的路由钩子函数是不是比学习的时候复杂很多倍&#xff1f;还有vuex模块是不是会见到许许多多的文件夹&#xff0c;每个…

vue长列表优化之虚拟列表实现

vue长列表优化之虚拟列表实现 应用场景:后台一次性发送上千条或更多数据给前台 场景模拟:用户发起一个请求,后台发送了10w条数据 使用虚拟列表之前:前台需要生成10w个dom节点用来渲染页面 使用虚拟列表之后:前台只需要生成少量dom节点(dom节点数量取决于前端视图需要展示的…

html中常见标签及其用法归纳大全

html零基础必看——htmlHTML常见标签大全 第二章&#xff1a;html常见标签前言一、常见标签&#xff08;一&#xff09;1、body标签2、div盒子标签3、p文本段落标签4、h1~h6 标题标签5、b标签和strong标签&#xff08;文字加粗标签&#xff09;6、span文字包裹标签7、br换行标签…

大二学生web期末大作业 在线电影网站 HTML+CSS+JS

&#x1f329;️ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套…

ES6展开运算符“...”

● ES6新增了一个运算符“...”&#xff0c;叫做展开运算符 ● 作用是把数组或者对象内容展开 &#xff08;1&#xff09;展开数组&#xff1a; ○ ES5方法&#xff1a;concat&#xff08;&#xff09; <script>let a [1,2,3]let b [4,5,6]//ES5的方法&#xff1a;c…

【百度地图】百度地图的使用方法 和 在vue中如何使用百度地图(超详细)

【百度地图】百度地图的使用方法 和 在vue中如何使用百度地图&#xff08;超详细&#xff09; 1- 介绍 百度地图功能强大&#xff0c;本篇文章只是对百度地图JavaScript API 进行一个介绍~ 官方网址 百度地图开放平台LBS&#xff1a;LocationBusinessServer 基于定义位置的商…

JS 连接MQTT的方法(mqtt.js的使用方法)

本文章是介绍 mqtt.js 的使用方法 一、说明 本文章使用的版本是 4.1.x &#xff0c;没用最新版的原因是 4.2.x 以上版本会报错&#xff0c;具体报错可以看我的另一篇文章&#xff0c;点击查看。使用的 4.1.x 版本地址&#xff1a;https://cdn.bootcdn.net/ajax/libs/mqtt/4.1…

若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

前言 因为是在vue源码的基础上进行修改&#xff0c;所以&#xff0c;就没有复制代码在文章上&#xff0c;采取的是截图对比源码和我修改的代码片段。要麻烦你们自己手敲了。 先来看看效果&#xff1a; 场景&#xff1a;在费用配置列表中&#xff0c;点击每一项的配置&#x…

vue如何设置元素的显示隐藏

方法&#xff1a;可以使用v-if&#xff0c;也可以使用v-show指令。 v-if 指令&#xff0c;通过动态的向DOM树内添加或者删除DOM元素的方式来显示或隐藏元素&#xff1b; v-show 指令&#xff0c;通过设置DOM元素的display样式属性来控制显隐。 区别&#xff1a; v-if 会直接删除…