vue px转换为rem

前端开发中还原设计图的重要性毋庸置疑,目前来讲应用最多的应该也仍是使用rem。然而不少人依然仍是处于刀耕火种的时代,要么本身去计算rem值,要么依靠编辑器安装插件转换。css

而本文的目标就是经过一系列的配置后,在开发中能够直接使用设计图的尺寸开发,项目为咱们自动编译,转换成remhtml

技术栈

  • vue-cli:使用脚手架工具建立项目。
  • postcss-pxtorem:转换px为rem的插件。

自动设置根节点htmlfont-size

由于rem单位是相对于根节点的字体大小的,因此经过设置根节点的字体大小能够动态的改变rem的大小。前端

原理网上有不少文章分享,这里不具体解释。vue

一、建立rem.js文件

不少人写这种小工具文件会习惯性的加上闭包,这个实际上是没有必要的。ES6中每一个文件都是单独的一个模块。webpack

// 基准大小
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() } 

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

import './utils/rem' 

引入文件后,查看页面的html节点,是否有被自动添加 font-sizeweb

注意:完成到这一步,也就是实现了rem布局,实际开发的时候,仍是须要咱们去计算对应的rem值去开发。vue-cli

下一步咱们就配置一下webpack,自动转换px为对应的rem值。npm

配置 postcss-pxtorem 自动转换px为rem

一、安装 postcss-pxtorembash

$ npm install postcss-pxtorem -D

二、修改根目录 .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();

 

转载自:

大灰狼的小绵羊哥哥的博客

原文连接:https://blog.csdn.net/sinat_17775997/article/details/79230616

相关文章
相关标签/搜索