基于vue-cli3的vue项目移动端样式适配,lib-flexible和postcss-px2rem

1,安装 flexible和 postcss-px2rem(命令行安装)

npm install lib-flexible --save

npm install postcss-px2rem --save

简要介绍这两个包的用途:

flexible会为页面根据屏幕自动添加<meta name=‘viewport‘ >标签,动态控制initial-scale,maximum-scale,minimum-scale等属性的值。

例如在Galaxy S III:

例如在iphone6/7/8:

postcss-px2rem会将px转换为rem,rem单位用于适配不同宽度的屏幕,根据<html>标签的font-size值来计算出结果,1rem=html标签的font-size值。

2, 引入lib-flexible

在项目入口文件main.js 中引入lib-flexible

import ‘lib-flexible‘

注意事项(important): 由于flexible会动态给页面header中添加<meta name=‘viewport‘ >标签,所以务必请把目录 public/index.html 中的这个标签删除!!!

3, 配置postcss-px2rem

vue-cli3 构建的项目相较于vue-cli2 构建的项目精简了许多,将一些默认配置进行了更好更严密,让开发变得更高效的封装。具体请看vue-cli官网 https://cli.vuejs.org/zh/guide/

px2rem的配置放在vue-cli3 项目中vue.config.js中(找不到?可能你是一个新构建的项目,需要手动在项目根目录创建vue.config.js)

具体配置内容如下:

 1 module.exports = {
 2     css: {
 3         loaderOptions: {
 4           css: {},
 5           postcss: {
 6             plugins: [
 7               require(‘postcss-px2rem‘)({
 8                 remUnit: 37.5
 9               })
10             ]
11           }
12         }
13     },
14 }

OK,重启项目,两个用于移动端适配的包就这样可以愉快的开始使用了!!!

下面来看我们的代码,代码中我们直接用px来写宽高:

1 .testclass {
2   width: 300px;
3   height: 200px;
4   background: #e3e3e3;
5 }

在浏览器中会是什么样的呢?

没错,已经从px转换成了rem。 what?如果你的没有从px变成rem, 那么你可能需要重启一下项目呦~

温馨提示: remUnit这个配置项的数值是多少呢??? 通常我们是根据设计图来定这个值,原因很简单,便于开发。假如设计图给的宽度是750,我们通常就会把remUnit设置为75,这样我们写样式时,可以直接按照设计图标注的宽高来1:1还原开发。

那为什么你在这里写成了37.5呢???那我们后面专门来讲!

原文地址:https://www.cnblogs.com/lml2017/p/9953429.html

时间: 2024-08-30 01:04:52

基于vue-cli3的vue项目移动端样式适配,lib-flexible和postcss-px2rem的相关文章

VUE CLI3.X 创建项目

Node.js环境搭建 Node.js基于V8引擎,可以让js代码脱离浏览器运行 Vue CLI3.0 需要Node.js 8.9或者更高版本. 用nvm或者nvm-windows在同一台电脑中管理多个Node版本 nvm github地址:https://github.com/nvm-sh/nvm Vue CLI 3.0环境搭建 卸载老版本vue-cli:npm uninstall vue-cli -g 安装新版本:npm install -g @vue/cli 原型开发:npm instal

vue cli3 和 vue cli4

最近安装了vue cli4, 和vue cli3做下对比.我自己手动选择的配置, 安装了Router,Vuex 我安装的版本是@vue/cli 4.2.3 一.项目结构 左边为vue cli3, 右边为vue cli4 默认目录结构已更改 src/store.js 改为 src/store/index.js src/router.js 改为 src/router/index.js 二.babel.config.js文件 主要是 babel 的预设由@vue/app 改成了@vue/cli-plu

vue cli3之vue.config.js配置

const path = require('path') function resolve(dir) { return path.join(__dirname, dir) } module.exports = { // publicPath: process.env.NODE_ENV === 'production'?'/':'/', // i18n chainWebpack: config => { config.module .rule('i18n') .resourceQuery(/blo

基于Mint UI开发VUE项目一之环境搭建和头部底部导航栏的实现

一:简介 Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.通过它,可以快速构建出风格统一的页面,提升开发效率.真正意义上的按需加载组件.可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大.考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验.依托 Vue.js 高效的组件化方案,Mint UI 做到了轻量化.即使全部引入,压缩后的文件体积也仅有 ~30kb (JS + CSS

【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目

使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g @vue/cli 创建webpack项目 vue init webpack my-app 运行 cd my-app npm run dev 按照提示,在浏览器打开http://localhost:8082/,效果如下: 安装状态管理vuex npm install vuex --save-dev 目

Vue常用经典开源项目汇总参考-海量

Vue常用经典开源项目汇总参考-海量 Vue是什么? Vue.js(读音 /vju/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用. Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 易用(已经会了HTML,CSS,J

【前端】Vue.js经典开源项目汇总

Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用. Vue.js 的目标是通过

Vue.js经典开源项目汇总

Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用. Vue.js 的目标是通过

vue搭建vue-cli脚手架项目

一.Node.js 1.介绍 Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.Node.js是一个基于Chrome V8引擎的JavaScript运行环境.它不是一门语言,其实就是一个运行javascript的运行环境(平台),可以理解为一个运行js的虚拟机,以前只有浏览器才可以解析Javascript代码,有了Nodejs之后可以脱离浏览器运行,简单的说就是Node.js是运行在服务端的JavaScr