使用 vue + vant 开发移动端网页

2023-09-20 10:26:18

使用 vue + vant 开发移动端

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

安装:

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

新建 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, // 是否处理横屏情况
      },
    },
  }
}

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

参考链接:

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

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

vant2 进阶用法

延伸:

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

更多推荐

国产视觉检测设备崛起,以AI机器视觉及自研算法破解智造难题

机器视觉作为人工智能的前沿分支之一,被称为智能制造的“智慧之眼”,在工业领域中,能够代替人工完成识别、测量、定位、检测等工作,以实现对设备精密控制及产线智能化、自动化升级。同时,深度学习和3D视觉的技术升级,实现了对传统机器视觉算法进一步优化并提供了丰富维度的信息。深眸科技整合相关技术,创新研发AI驱动的2D/3D视觉

民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查

民安智库近日开展了一场汽车消费者焦点小组座谈会,旨在深入了解目标消费者对汽车功能的需求和消费习惯,为汽车企业提供有针对性的解决方案。在焦点小组座谈会中,民安智库公司(第三方市容环境指数测评)邀请了一群具有代表性的汽车消费者作为参与者。他们来自不同年龄段、职业背景和地域分布,以确保调查结果的多样性和代表性。座谈会采用了开

智能家居产品公司网站源码,自适应布局设计,带完整演示数据

适合各类智能家居电子产品使用的网站源码,深色大气设计,自适应布局设计,pc手机均可完美适配,带完整演示数据。独家原创资源。源码是asp开发的,数据库是access,主流的虚拟主机空间都支持asp,直接上传就可以使用。源码完整可用,因为都是我自己开发的,测试过了。网站都是站长之前自己帮客户开发了,现在拿出来分享给各位,希

【Oracle】Oracle系列之四--用户管理

文章目录往期回顾前言1.创建/删除用户(1)创建用户(2)修改口令(3)删除用户2.用户授权管理(1)对用户直接授权(2)通过角色对用户授权往期回顾【Oracle】Oracle系列–Oracle数据类型【Oracle】Oracle系列之二–Oracle数据字典【Oracle】Oracle系列之三–Oracle字符集前言

【Java 基础篇】Java 文件及文件夹操作详解

在Java编程中,文件和文件夹操作是常见的任务之一。你可能需要读取、写入、创建、删除文件或文件夹,以及遍历文件系统中的内容。本文将详细介绍Java中如何执行这些常见的文件和文件夹操作,适用于初学者和基础用户。1.文件操作读取文件内容在Java中,你可以使用FileInputStream或BufferedReader来读

蓝桥杯2023年第十四届省赛真题-买瓜--C语言题解

目录蓝桥杯2023年第十四届省赛真题-买瓜题目描述输入格式输出格式样例输入样例输出提示【思路解析】【代码实现】蓝桥杯2023年第十四届省赛真题-买瓜时间限制:3s内存限制:320MB提交:796解决:69题目描述小蓝正在一个瓜摊上买瓜。瓜摊上共有n个瓜,每个瓜的重量为Ai。小蓝刀功了得,他可以把任何瓜劈成完全等重的两份

Linux磁盘管理:最佳实践

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

算法通关村第14关【白银】| 堆的经典问题

1.数组中的第k个最大元素思路:最直观的就是选择法,遍历一k次找到第k大的数之前使用快速排序的思想每次找出一个位置,会超时这里使用堆(优先队列),找最大用小堆,找最小用大堆。例如找第k大的数,新建一个空间为k的最小优先队列,只要比当前优先队列最小值大就替换进去,这样全部的数遍历一遍,里面留下的就是前k大的数了,其他的全

科目二倒车入库

调整座位和后视镜离合踩到底大腿小腿成130-140°上半身90-100°座椅高度能看到前方全部情况后视镜调节到能看到后门把手,且后门把手刚好在后视镜上方边缘、离车1/3处。保持直线:前进:车仪表盘中央的原点和地面上的黄线擦边,这就是离右侧30-40cm倒车:右后视镜中一个手指的宽度对应地面15cm倒车观察右后视镜,车门

1.什么是jwt?jwt的作用是什么?2.jwt的三个部分是什么?三者之间的关系如何?3.JWT运行的流程是什么

1.**什么是JWT?JWT的作用是什么?**JWT(JSONWebToken)是一种用于在不同系统或组件之间传输信息的紧凑且安全的标准。它的作用主要有两个方面:-**身份验证(Authentication)**:JWT通常用于验证用户的身份。当用户登录时,服务器会生成一个JWT,并将其发送给客户端。客户端随后在每个请

按钮和文本框事件监听

事件监听:当某个事情发生的时候,干什么一、按钮Button监听publicclassTestActionEvent{publicstaticvoidmain(String[]args){//按下按钮,触发一些事件Frameframe=newFrame();//弹窗的监听事件/*frame.addWindowListen

热文推荐