前端开发中还原设计图的重要性毋庸置疑,目前来说应用最多的应该也还是使用rem。然而很多人依然还是处于刀耕火种的时代,要么自己去计算rem
值,要么依靠编辑器安装插件转换。
而本文的目标就是通过一系列的配置后,在开发中可以直接使用设计图的尺寸开发,项目为我们自动编译,转换成rem
。
html
的font-size
因为rem
单位是相对于根节点的字体大小的,所以通过设置根节点的字体大小可以动态的改变rem的大小。
原理网上有很多文章分享,这里不具体解释。
rem.js
文件很多人写这种小工具文件会习惯性的加上闭包,这个其实是没有必要的。es6中每个文件都是单独的一个模块。
// 基准大小 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-size
。
注意:完成到这一步,也就是实现了rem布局,实际开发的时候,还是需要我们去计算对应的rem值去开发。
下一步我们就配置一下webpack,自动转换px为对应的rem值。
postcss-pxtorem
自动转换px为rem1、安装 postcss-pxtorem
$ npm install postcss-pxtorem -d
2、修改根目录 .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();
如对本文有疑问, 点击进行留言回复!!
MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例
CTF 刷题记录(一) 白云新闻搜索(手动与自动化SQL注入)
javascript如何使用函数random来实现课堂随机点名方法详解
网友评论