Vue -项目创建(rem适配项的设置)

3. 项目rem 配置

####3.1 rem介绍

小米、京东、携程 m.mi.com/m.jd.com/m.ctrp.com

  • 核心原理
 1rem = 当前 html 的fontSize也就是说 : rem是相当于根元素的字体大小// 使用div {width:2rem;height:2rem}// 媒体查询@media (min-width:320px) {html {font-size : 20px}}@media (min-width:640px) {html {font-size : 40px}}
  • 作用 :
保证适配所有的屏幕, 而且几乎完全的还原了设计图,  体验好
  • rem的痛点
1. 使用rem开发没有px开发爽
2. 需要做不同屏幕的适配 (需要给每个屏幕都设置一个html的fontSize 媒体查询)
3. 开发的时候, 设计图量出来的都是px, 还需要转化为rem单位 (依赖 px2rem)解决办法 : 基于webpack配置rem环境, 变得自动化

3.2. rem的配置 (webpack环境下的配置)

  1. 安装包 :
npm i lib-flexiblelib-flexible这个包是阿里开源的一个库, 自动给不同屏幕设置html的fontSize
  1. 引入 lib-flexible
// main.js   自动适配所有屏幕
import 'lib-flexible'
  • 打开浏览器就可以看到 html 上的 font-size
他会给每个屏幕都设置一个html的大小, 会把屏幕的宽度大小/10 = 1rem
  • lib-flexible会自动帮我们设置视口, 所以需要把原来的额视口删除, index.htmlviewport
320 * data-dpr = 640 /10 => 64
  • 给一个div设置样式
.one {width:200px;height:200px;
}
// 发现切换没有反应, 因为没有设置为 rem单位
  1. 安装第二个库 : 这个包会自动把我们项目中的px转化为rem单位
npm i postcss-px2rem 
  1. vue.config.js里面做配置
module.exports = {devServer: {open: true,},// 配置 px 转 rem 的css: {loaderOptions: {css: {},postcss: {plugins: [require('postcss-px2rem')({// rem 的单位  填设计稿的 1/10remUnit: 75,}),],},},},
}//这个值改怎么填
屏幕标准 : 375
设计稿 750   => 量的尺寸 200px  => 实际上100px
设计稿 640   => 量的尺寸 200px  => 实际上117px
设计稿 375   => 量的尺寸 200px  => 实际上200px

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#基础知识梳理(四)

上期回顾 - https://www.cnblogs.com/liu-jinxin/p/10826971.html 一、类 当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象…

UIButton设置圆角和边框及边框颜色

UIButton *testButton [UIButton buttonWithType:UIButtonTypeSystem];[testButton setFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 100,100)];[testButton setTitle:"获取屏幕尺寸" forState:UIControlStateNormal];[testButt…

Git 的介绍简介

使用 git 管理我们的项目并上传到码云 ##1. 本地管理 本地工作区 git add >暂存区 git commit > 仓库区 git status : 查看我们的状态 查看到很多红色的 (有修改的 有删除的 有添加的) git add . : 把当前所有文件添加到暂存区 git commit -m xxx 把代码从暂存区 提交…

【王俊杰de人工智能实战课】第7次作业2

Brief Guide 项目内容这个作业属于哪个课程北航人工智能实战课这个作业的要求在哪里第三次作业要求我在这个课程的目标是获得机器学习相关的完整项目与学习经验;通过与人工智能行业的大牛们聊天了解行业不同方向的发展以便进行职业规划;为转CS积累基础知…

让UITableView的section header view不悬停的方法

当 UITableView 的 style 属性设置为 Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端。取消这一特性的方法有两种: 将 style 设置为 Grouped 。这时所有的section header都会随着scrollview滚动了。不过 grouped 和 plain 的样式…

Promise 的基本使用 与 Ajax的jQuery封装

Promise 的基本使用 为了解决回调地狱问题,从而给出的解决办法: /*** Promise** 1. Promise 是 一个构造函数 new Vue()* 2. Promise() 里面有个参数, 参数就是一个回调 () > {}* 回调也有参数* resolve f 操作成功的时候调用resolve > …

个人冲刺9

1.昨天做了界面整体优化。 2.今天打算了解一下组成员的情况。 3.整体界面优化没有什么问题。转载于:https://www.cnblogs.com/Evak/p/10936840.html

iOS UITextField使用全攻略

//初始化textfield并设置位置及大小 UITextField *text [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone…

日期模糊查询

SELECT * FROM 表名 t WHERE(to_char(t.日期字段,yyyy-MM-dd hh24:mi:ss)like %2011%)转载于:https://www.cnblogs.com/macT/p/10865206.html

Uboot中start.S源码的指令级的详尽解析(转)

Uboot中start.S源码的指令级的详尽解析转载于:https://www.cnblogs.com/LittleTiger/p/10877516.html

Vuex说明及Todos项目改造

Vuex(vue) / Flux (angular) /Redux(react) vuex 是什么? 状态管理工具 状态即数据, 状态管理就是管理组件中的data数据 Vuex 中的状态管理工具,采用了 集中式 方式统一管理项目中组件之间需要通讯的数据 [看图] 如何使用 最佳实践 : 只将组件之间共享的数据放在 vuex …

Objective-C 深复制和浅复制与NSCopying协议

1.简单复制只能实现浅拷贝&#xff1a;指针赋值&#xff0c;使两个指针指向相同的一块内存空间&#xff0c;操作不安全。 2. Foundation类已经遵守了<NSCopying>和 <NSMutableCopying>协议,即实现了copy和mutableCopy方法,因此Foundation对象可以使用这些方法创建对…

基于Vue项目打包上线配置

打包上线 开发阶段 : npm run serve发布阶段 : npm run build build之前 1. 把基准地址, 由开发阶段的换成发布阶段的 //main.js axios.defaults.baseURL http://localhost:30002. 忽略项目中打印的结果 // main.js console.log () > {}// 开发阶段 > 注释掉 >…

NSTimer 进阶使用总结与注意事项

NSTimer 是 iOS 上的一种计时器&#xff0c;通过 NSTimer 对象&#xff0c;可以指定时间间隔&#xff0c;向一个对象发送消息。NSTimer 是比较常用的工具&#xff0c;比如用来定时更新界面&#xff0c;定时发送请求等等。但是在使用过程中&#xff0c;有很多需要注意的地方&…

一步一步教你实现iOS音频频谱动画(一)

如果你想先看看最终效果再决定看不看文章 -> bilibili示例代码下载 第二篇&#xff1a;一步一步教你实现iOS音频频谱动画&#xff08;二&#xff09; 基于篇幅考虑&#xff0c;本次教程分为两篇文章&#xff0c;本篇文章主要讲述音频播放和频谱数据的获取&#xff0c;下篇将…

微信小程序的基础 (一)

微信小程序介绍- 链接 微信小程序&#xff0c;简称小程序&#xff0c;是一种不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;用户扫一扫或搜一下即可打开应用 1. 为什么是微信小程序? 微信有海量用户&#xff0c;而且粘性很高&#x…

看YYModel源码的一些收获

关于源码学习自己的一些感悟第一层&#xff1a;熟练使用&#xff1b;第二层&#xff1a;读懂代码&#xff1b;第三层&#xff1a;通晓原理&#xff1b;第四层&#xff1a;如何设计&#xff1b;自己学到了什么&#xff0c;还留有什么问题&#xff1b;关于分享关于线下演讲分享和…

IDEA提交项目到SVN

一.提交步骤 VCS--Enable...-->点击项目右键-->subversion-->share directory-->commit 二.IDEA SVN 忽略文件的设置 1》share .使用idea在将项目提交到svn的过程中遇到这样的问题 将项目share之后再设置ignore files &#xff0c;在commit的时候&#xff0c;不会将…

小程序基础 (二)

小程序开发框架 小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。 整个小程序框架系统分为两部分&#xff1a;逻辑层&#xff08;App Service&#xff09;和 视图层&#xff08;View&#xff09;。 小程序提供了自己的视…

项目ITP(五) spring4.0 整合 Quartz 实现任务调度

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主同意不得转载。https://blog.csdn.net/u010378410/article/details/26016025 2014-05-16 22:51 by Jeff Li 前言 系列文章&#xff1a;[传送门] 项目需求&#xff1a; 二维码推送到一体机上&#xff0c;给学生签到扫…