码农知识堂 - 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在这里插入图片描述

  • 相关阅读:
    注解实现接口幂等性
    如何使用PyTorch训练LLM
    目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
    简单shell批量文件转换gbk转为utf8编码
    C++ const修饰的指针
    数据结构之 哈希表习题 力扣oj(附加思路版)
    WinEdt引用参考文献
    Mojo:新型AI语言中的7个令人惊叹的Python升级,用简单的英语解释人工智能
    架构师进阶,微服务设计与治理的 16 条常用原则
    C#语言实例源码系列-实现输入框焦点变色和窗体拖拽改变大小
  • 原文地址: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号