IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue实现大屏适配方案 (lib-flexible和postcss-px2rem-exclude)----- 建议收藏 -> 正文阅读

[JavaScript知识库]vue实现大屏适配方案 (lib-flexible和postcss-px2rem-exclude)----- 建议收藏

vue实现大屏适配方案 (lib-flexible和postcss-px2rem-exclude)----- 建议收藏

😃 最近在做一个大屏的项目,需要实现布局以及字体样式自适应,实在不想写媒体查询了,所以找到了两个相关插件感觉很不错,这里就做个总结啦!

适配解决思路:

解决适配问题的根本思路在于将px转换成rem

rem介绍:

rem是CSS3新增的一个相对长度单位。相对于根元素(即html元素)font-size计算值的倍数的一个css单位,也就是我们前端常说的适配单位rem。因为rem的特性相对长度单位,所以常用来做适配

😃 那如何将px转化为rem呢??? 这里就引出我们需要用的两个插件:

  1. 使用postcss-px2rem-exclude可以将项目中的px自动转换成rem
  2. amfe-flexible则可以根据不同型号的手机,进行相应的HTML根节点(font-szie)的初始化。

实现步骤:

  1. 安装 postcss-px2rem-exclude

    npm install postcss-px2rem-exclude --save

  2. 安装 amfe-flexible

    npm install amfe-flexible --save

  3. 在vue项目中的main.js导入amfe-flexible

    import ‘amfe-flexible’; / /引入amfe-flexible做rem适配

  4. 在vue项目中的vue.config.js中配置postcss-px2rem-exclude

    module.exports = {
      css: {
        loaderOptions: {
          postcss: {
            plugins: [
              require("postcss-px2rem-exclude")({
              	// 在这里,由于我的设计稿尺寸的屏幕分辨率是1920,具体原因如下:
                remUnit: 192, // 设计稿尺寸/10
              }),
            ],
     },},},}
    
  5. 有个问题:如何配置remUnit的数值:

    通常我们是根据设计图来定这个值, 原因很简单,便于开发。假如设计图给的宽度是1920,我们通常就会把remUnit设置为192(设计图宽度的十分之一),这样我们写样式时,可以直接按照设计图标注的宽高来1:1还原开发

    😃 至此,插件我们算是配置完了,那如何用呢,效果又是如何呢,这里我们直接上图上代码

效果及注意事项:

  1. 我们先看一下配置成功之后页面控制台显示的样式及效果,如图:这里分辨率是1920*1080
    在这里插入图片描述

  2. 然后修改一下电脑的分辨率以vue.config.js的配置,重新比较一下:

在这里插入图片描述

😃 很明显,发生了变化,由此我们可以得出:

rem为单位根据设备的分辨率可以动态设置font-size及相关属性

  1. 注意事项 :如果你有某些px不想被转换成rem ,那么可以这样做 : 加上/no/

在这里插入图片描述

  1. 注意事项 : 如果是设置内联样式,就出现问题了:单位没有被转成rem,目前文字大小不是自适应的状态

在这里插入图片描述
😃 那该如何解决呢这个问题呢:

  1. 我们可以写一个px2rem方法,放在全局,在src/main.js里写如下代码:
function px2rem(px){
  if(/%/ig.test(px)){ // 有百分号%,特殊处理,表述pc是一个有百分号的数,比如:90%
    return px
  }else{
    return (parseFloat(px) / 192) + 'rem'
  }
}
Vue.prototype.$px2rem = px2rem // 放到全局
  1. 对应的页面的使用方式:
 <div class="left">今天是2022916日,天气晴</div>
 <div class="center" :style="{fontSize:$px2rem('30px')}">距离国庆还有14</div>
 <div class="right">哈哈哈哈哈</div>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:19:29  更:2022-09-21 00:24:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:09:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码