码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vuejs - - - - - 移动端设备兼容(pxtorem)


    pxtorem的使用

    • 1. 依赖安装
    • 2. vue.config.js配置
    • 3. 动态设置html的font-size大小
    • 4. 效果如图:

    1. 依赖安装

    yarn add postcss-pxtorem -D

    2. vue.config.js配置

    module.exports = {
    	...
    		  css: {
    		    loaderOptions: {
    		      postcss: {
    		        plugins: [
    		          require("postcss-pxtorem")({
    		            // 把px单位换算成rem单位
    		            rootValue: 37.5, //换算基数,
    		            unitPrecision: 3, //允许REM单位增长到的十进制数字,小数点后保留的位数。
    		            propList: ["*"],
    		            exclude: /(node_module)/, //默认false,可以(reg)利用正则表达式排除某些文件夹的方法,例如/(node_module)/ 。如果想把前端UI框架内的px也转换成rem,请把此属性设为默认值
    		            selectorBlackList: [".van"], //要忽略并保留为px的选择器,本项目我是用的vant ui框架,所以忽略他
    		            mediaQuery: false, //(布尔值)允许在媒体查询中转换px。
    		            minPixelValue: 1, //设置要替换的最小像素值
    		          }),
    		        ],
    		      },
    		    },
    		  },
    	...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    3. 动态设置html的font-size大小

    /src/utils/resize.js

    // 基准大小
    const baseSize = 37.5;
    // 设置 rem 函数
    function setRem() {
      // 当前页面宽度相对于 750 宽的缩放比例
      const clientWidth = document.documentElement.clientWidth;
      // 仅当视口宽度小于800时,视为移动端
      if (clientWidth < 800) {
        const scale = clientWidth / 750;
        // 设置页面根节点字体大小
        document.documentElement.style.fontSize =
          baseSize * Math.min(scale, 2) + "px";
      } else {
        document.documentElement.style.fontSize = "37.5px";
      }
    }
    // 初始化
    setRem();
    // 改变窗口大小时重新设置 rem
    window.onresize = function() {
      setRem();
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    main.js 引入

    import "./utils/resize";
    
    • 1

    4. 效果如图:

    pc端的font-size
    在这里插入图片描述

    移动端的font-size在这里插入图片描述

  • 相关阅读:
    Java网络编程中匿名端口
    linux中docker不能联网?
    3、JSP——Servlet、IDEA创建Web项目、IDEA创建JSP页面
    js-原生对象
    寻路算法之A*算法详解
    如何学习微服务Spring Cloud
    python基于PHP+MySQL的图书馆自习室预约占座系统
    IDEA启动Web项目总是提示端口占用
    Java基础:反射
    uni-app云开发(我直接访问后端)
  • 原文地址:https://blog.csdn.net/Dark_programmer/article/details/134377357
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号