码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用 vue + vant 开发移动端网页


    使用 vue + vant 开发移动端

    移动端开发的时候我们通常需要进行适配,比如设计图宽度是 750px 我们为了适应不同的设备,需要将我们设计图上的 px 转为 视口单位 vw
    这里我们采用 postcss-px-to-viewport

    安装:

    npm install postcss-px-to-viewport vant -S
    
    • 1

    新建 postcss.config.js

    module.exports = ({ file }) => {
      // 判断是否是vant的文件,这里执行是对每一个样式文件都会执行转换,vant的设计稿是375的,需要单独处理
      // 下面可以使用 path.join 模块来进行抹平操作系统间的差异
      const filePath =
        process.env.NODE_ENV === 'production'
          ? '/node_modules/vant'
          : '\\node_modules\\vant'
      // 当前文件是否是vant 样式文件,是则使用vant设计稿宽度,否则使用自己设计稿宽度(我的是750)
      const width = file.includes(filePath) ? 375 : 750
      return {
        plugins: {
          autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等
          'postcss-px-to-viewport': {
            unitToConvert: 'px', // 转换单位
            viewportWidth: width, // UI 计图宽度,每个文件可能不一致,所以这里用变量
            unitPrecision: 6, // 转换后的精度,即小数点位数
            propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
            viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw
            fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
            selectorBlackList: ['ignore'], // 忽略的类,指定不转换为视窗单位的类名
            minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
            mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
            replace: true, // 是否转换后直接更换属性值
            exclude: [], // 忽略的文件,exclude: [/node_modules/], 用正则做目录名匹配
            landscape: false, // 是否处理横屏情况
          },
        },
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    propList: 当有些属性的单位我们不希望转换的时候,可以添加在数组后面,并在前面加上!号,如 propList: [“*”,“!letter-spacing”],这表示:所有 css 属性的属性的单位都进行转化,除了 letter-spacing 的

    参考链接:

    vue 移动端/pc 端适配插件:postcss-px-to-viewport

    移动端适配:px-to-viewport(兼容 vant)

    vant2 进阶用法

    延伸:

    vue 中使用 animate.css 实现动画效果

  • 相关阅读:
    总结一下vue中v-bind的常见用法
    SpringMvc执行流程
    Linphone3.5.2 ARM RV1109音视频对讲开发记录
    HBase (六) --------- HBase API 操作
    写在 Chappyz 即将上所之前:基于 AI 技术对 Web3 营销的重新定义
    为什么五千块天价加急费都无法保证交期?
    史上最简SLAM零基础解读(7) - g2o(图优化)→简介环境搭建(slam十四讲为例)
    这是什么代码
    Ubuntu20 QT6.0 编译 ODBC 驱动
    【推荐系统】推荐系统(RS)与大模型(LLM)的结合
  • 原文地址:https://blog.csdn.net/MFWSCQ/article/details/133068460
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号