多终端适配

很多时候前端项目会面临各种屏幕尺寸的终端,下面的方法就是为了方便的做到多终端的尺寸适配。

如果我们在项目中style的单位都是px的话,那么不同的屏幕下,页面模块的大小都是固定的,这样子就无法做到很好的适配。当然如果页面元素不是很多,较多都是文字展示而且页面布局结构也很出色,比如flex,使用px也是能满足大部分的pc项目适配。

因此如果需要多终端适配的话 可以推荐rem。

rem是根据根节点来计算的。可以根据不同屏幕尺寸设置根节点大小,rem会自动转化。

当浏览器默认字体大小是16px的时候。转化关系如下:

|  px  |    rem      |

------------------------

|  12  | 12/16 = .75  |

|  14  | 14/16 = .875  |

|  16  | 16/16 = 1    |

|  18  | 18/16 = 1.125 |

|  20  | 20/16 = 1.25  |

|  24  | 24/16 = 1.5  |

|  30  | 30/16 = 1.875 |

|  36  | 36/16 = 2.25  |

|  42  | 42/16 = 2.625 |

|  48  | 48/16 = 3    |

-------------------------   

当然要自己计算的话过于麻烦。推荐一个插件。

可将项目中的px自动转化为rem。

一、配置与安装步骤:

1、在 Vue 项目的 src 文件夹下创建一个 config 文件夹:

2、在 config 文件夹中创建 rem.js:

3、将以下代码复制到 rem.js 中:

// 基准大小

constbaseSize=32

// 设置 rem 函数

functionsetRem(){

// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。

constscale=document.documentElement.clientWidth/750

// 设置页面根节点字体大小

document.documentElement.style.fontSize=(baseSize*Math.min(scale,2))+'px'}

// 初始化

setRem()

// 改变窗口大小时重新设置

remwindow.onresize=function(){

setRem()

}

4、在 src 文件夹下的 main.js 中引入:

import'./config/rem'

5、在 Vue 项目根目录终端引入:

npm install postcss-pxtorem-D

6、在 Vue 项目文件夹下的 postcss.config.js 中加入:

module.exports={

plugins:{

autoprefixer:{},

"postcss-pxtorem":

{"rootValue":16,"propList":["*"]}

}

}

至此,Vue 项目就能实现在页面中自动将 px 转换成  rem 了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容