1.可以实现Vue移动端和PC端的响应式布局适配

实现方法:通过 postcss-px-to-viewport 来自动将我们开发时的px单位计算转换为vw视口单位,完成响应式布局 。

安装插件

npm安装
npm install postcss-px-to-viewport -S
yarn安装
yarn add postcss-px-to-viewport -S

PC端适配,在项目根目录下创建 postcss.config.js 配置文件

module.exports = {plugins: {'postcss-px-to-viewport': {unitToConvert: 'px', // 需要转换的单位,默认为"px"viewportWidth: 1920, // ui设计稿的视口宽度unitPrecision: 5, // 单位转换后保留的精度propList: ['*'], // 能转化为vw的属性列表,不需要转换的css样式属性可以写在propList['*']里面,在前面加上!号即可,比如propList['*','!width'],这表示css所有的属性都可以单位转换,除了width不转换。viewportUnit: 'vw', // 希望使用的视口单位fontViewportUnit: 'vw', // 字体使用的视口单位selectorBlackList: [], // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位,比如selectorBlackList: ['box'],box这个类名下使用的所有css属性都不会被转换单位。minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换mediaQuery: false, // 媒体查询里的单位是否需要转换单位replace: true, //  是否直接更换属性值,而不添加备用属性exclude: undefined, // 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件include: undefined, // 如果设置了include,那将只有匹配到的文件才会被转换landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)landscapeUnit: 'vw', // 横屏时使用的单位landscapeWidth: 1920 // 横屏时使用的视口宽度}}
}

移动端适配,也是在根目录下创建 postcss.config.js 配置文件,不过配置内容要改变一下。

  • 在写项目的时候,会用到第三方ui组件库,比如vant…,此时你会发现vant组件的尺寸会小一半,那是因为vant官方是用375设计稿,你用的是750,动态判断就好。
  • 下面代码的作用主要是用来判断读取的是否是ui组件库ant-design-vue的文件,如果是,视口的宽度就设置为375,其他的文件则按照ui稿的宽度750
const path = require('path')module.exports = ({ file }) => {const designWidth = file.dirname.includes(path.join('node_modules', 'ant-design-vue'))? 375: 750return {plugins: {autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等'postcss-px-to-viewport': {unitToConvert: 'px', // 要转化的单位viewportWidth: designWidth, // UI设计稿的宽度unitPrecision: 6, // 转换后的精度,即小数点位数propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vwfontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vwselectorBlackList: [], // 指定不转换为视窗单位的类名,minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认falseexclude: [], // 设置忽略文件,用正则做目录名匹配landscape: false, // 是否处理横屏情况// replace: true, // 是否转换后直接更换属性值},},}
}

配置好文件以后,重启项目就行,也可以不用重启,编译一下就行,可以测试一下,用一张全屏图片,给图片设置宽高,缩小放大浏览器窗口,图片跟着视口变化就成功了。

仔细看上面的配置信息,需要的进行配置。

Vue2实现响应式布局方案相关推荐

  1. 前端学习第16天:媒体查询-响应式布局

    第16天 1.媒体查询 ​ 说明:媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒 ...

  2. html响应式布局的概念,HTMLCSS学习笔记(十八)响应式布局概念

    原标题:HTMLCSS学习笔记(十八)响应式布局概念 常见的布局方案 固定布局:以像素作为页面的基本单位,不管设备屏幕及浏览器宽度,只设计一套尺寸: 可切换的固定布局:同样以像素作为页面单位,参考主流 ...

  3. 移动端开发、各种兼容问题、响应式布局开发、移动端和PC端开发的不同

    文章目录 一.移动端开发 二.移动端开发和PC端开发的不同 1.@1 响应式布局开发 2.关于CSS3的兼容 3.关于ES6+的兼容 4.还有一些移动端独有的兼容问题: 三.DPR:屏幕像素密度比「高 ...

  4. html vw布局,完美的响应式布局vw+vh+rem屏幕适配方案!

    一.前言 根据前面写的 你不知道的css单位,进行了一种响应式布局的思考. 视口布局的优点:宽度和高度全部自动适应!再加上rem布局的字体适应,可以完美解决各种屏幕适配问题! 单位可参考 : 你不知道 ...

  5. h5响应式布局、PC和移动端适配方案

    前言 春招真的是太卷了,让我怀疑春招到底在招谁(是我太菜惹qaq).总之还是不能松懈下来,总结一下在实习期间遇到的h5的响应式布局.PC和移动端适配方案的选择以及一些问题.本文部分文案由chat-gp ...

  6. 前端响应式布局原理与方案(详细版)

    引言 响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局.传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重.下面是博客网站对不同设备适配后的结 ...

  7. Vue 项目前端响应式布局及框架搭建

    Vue 项目前端响应式布局及框架搭建 一.flexible 插件 1.引用 flexible 插件 2.修改 flexible 默认配置 3.展示效果 二.cssrem 插件 (px -> re ...

  8. 【Vue】Vue 项目前端响应式布局及框架搭建

    文章目录 Vue 项目前端响应式布局及框架搭建 一.项目基本结构 二.项目分辨率响应式创建 1.flexible.js 2.引用 flexible 插件 3.修改 flexible 默认配置 4.cs ...

  9. 判断两个图片的特征向量_响应式布局提高篇 图片正确的打开方式

    作者 | Brilliant Open Web团队 编辑 | Aaron 本文承接上一章的内容,接着介绍响应式布局设计,主要讲如何实现响应式图片.通过对图片适配问题的说明,加深对响应式图片的理解,并分 ...

最新文章

  1. 14Facade(门面)模式
  2. spring cloud config配置中心源码分析之注解@EnableConfigServer
  3. [BUUCTF-pwn]——jarvisoj_level2
  4. 路由选择协议笔记ripv1、ripv2、ripng
  5. React中级学习(第一天)
  6. 进入一个目录需要那些权限
  7. 进入opencv内部函数调试
  8. 2017双11技术揭秘—分布式缓存服务Tair的热点数据散列机制
  9. 转 Procrastination
  10. Criteria和DetachedCriteria区别应用
  11. AMD: Developer Guides, Manuals ISA Documents
  12. 埃及分数问题+迭代加深搜索
  13. python求解LeetCode习题Fraction to Recurring Decimal
  14. 独角兽复活:Twilio上市预示IPO市场起死回生
  15. AD18原理图到PCB流程
  16. Microsoft Office 2010组件介绍
  17. Java基础教程笔记
  18. 数学建模学习笔记(1):层次分析法(AHP)(附有详细使用步骤)
  19. Jacob操作Word文档插入表格并表格中插入图片案例
  20. 使用 Nginx 如何部署 web 项目

热门文章

  1. 技术解读PROFINET、Ethernet/IP等7种主流工业以太网
  2. 直面聊天机器人(一)
  3. nginx 地址映射
  4. ArcGIS教程:为地理要素添加附件
  5. Word插入参考文献(不是WPS)
  6. 蓝桥杯 十六进制转化为十进制
  7. Could not set property ‘‘ of ‘class com.xxx.domain.vo.SelectTopicDetailsVO‘ with value ‘xxx‘
  8. [TensorFlow 学习笔记-06]激活函数(Activation Function)
  9. 《图解TCP/IP》笔记(八)MLD、IP任播、通信质量控制和显式拥塞通知
  10. 计算机本地磁盘类型gpt,选中的磁盘采用gpt分区形式怎么操作_win7为磁盘选择gpt分区形式教程...