vue项目使用lib-flexible解决移动端适配问题(方案二)

写在前面

我们知道,rem单位的尺寸是相对于根元素(html)的字体大小font-size的尺寸,用以解决移动端不同终端设备屏幕不一致配置问题。

一、安装依赖

安装 lib-flexible 到项目中,如果未安装 less 和 less-loader,一并安装到项目中。
安装命令:

yarn add lib-flexible less less-loader --save

二、配置

1、在项目的入口文件main.js中引入lib-flexible

import 'lib-flexible';

其实,只要项目中引用了lib-flexible,就可以用lib-flexible来解决移动端适配了。
lib-flexible会自动在html的head中添加一个meta name="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size。假如设计稿的宽度是750px,此时1rem应该等于75px。假如量的某个元素的宽度是150px,那么在css里面定义这个元素的宽度就是 width: 2rem。

三、测试

启动项目,在样式中写样式时将px转为rem,如
margin: 1.33333333rem auto;
这样也能解决移动端适配问题。

但是有没有很简便的计算方法呢?
下面提供一种解决方法:
1、新建一个用以把px转为rem的文件px2rem.less,内容如下:

/*********** screen配置 ***********/
@screen: 750; //设计图宽度
@remSize: 75; //1rem对应的px值

.toRem (@self) {
    @rem: @self/@remSize*1rem;
}
//转换为百分比
.toPercentage (@numerato, @denominator) {
    @percentage: @numerato/@denominator*100%;
}
//外边距rem换算
.marginTop(@slef) {
    margin-top: @slef/@remSize*1rem;
}
.marginRight(@slef) {
    margin-right: @slef/@remSize*1rem;
}
...这里可以写很多

2、使用
在样式中引入该文件,如

@import "../px2rem.less";

#jd-layout {
    .marginTop(30);
}

这样就不用用计算器去计算啦,传入的值就是单位为px的值。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值