文章目录

  • 一、移动端适配
    • 1、什么是移动端适配
    • 2、认识视口
    • 3、移动端适配方案
      • 3.1 媒体查询
      • 3.2 js动态计算
      • 3.3 使用库
    • 4、rem计算的方法
      • 4.1 手动计算
      • 4.2 通过less计算
      • 4.3 postcss-pxtorem
      • 4.4 利用vscode插件
    • 5、vh、vw单位换算

一、移动端适配

1、什么是移动端适配

2、认识视口

<!-- width: 设置布局视口的宽度 --><meta name="viewport"content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">

3、移动端适配方案

3.1 媒体查询

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>@media screen and (min-width: 320px) {html {font-size: 20px;}}@media screen and (min-width:375px) {html {font-size: 30px;}}@media screen and (min-width:400px) {html {font-size: 40px;}}@media screen and(min-width:500px) {html {font-size: 50px;}}.box {width: 5rem;height: 5rem;background-color: orange;}</style>
</head><body><div class="box"></div></body></html>

3.2 js动态计算

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 设置font-size之后页面不会随便继承html的大小 */body {font-style: 16px;}.box {width: 5rem;height: 5rem;background-color: orange;}p {font-style: 0.5rem;}</style>
</head><body><div class="box"></div><p>我是文本</p><span>哈哈哈</span><script>// 1.获取html的元素const htmlEl = document.documentElementfunction setRemUnit() {// 2.获取html的窗口宽度const htmlWidth = htmlEl.clientWidth// 3.根据宽度计算一个html的font-size的大小const htmlFontSize = htmlWidth / 10// 4.将font-size甚至到htmlhtmlEl.style.fontSize = htmlFontSize + 'px'}// 保证第一次进来的时候,触发一次setRemUnit()// 当屏幕尺寸发生变化的时候,实时修改html的font-sizewindow.addEventListener('resize', setRemUnit)// 当页面发生跳转的时候触发,前进后退按钮window.addEventListener('pageshow', function (e) {if (e.persisted) {setRemUnit()}})</script></body></html>

3.3 使用库

4、rem计算的方法

4.1 手动计算

  <style>/* 假设设计稿为750px  将他视为10份 每一份为37.5  *//* 即1rem = 37.5px  100px = 100/37.5rem */.box {width: 2.66667rem;height: 2.66667rem;background-color: orange;}p {font-size: 0.373333rem;}</style>

4.2 通过less计算

  • 使用lessc插件 使得可以使用less编译器 lessc.org
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet/less" href="./rem_less/index.less"><script src="./js/hy_flexible.js"></script><script src="./js/lessc.js"></script>
</head><body><div class="box"></div><p>我是文本</p></body></html>
.pxToRem(@px) {result: 1rem * (@px/37.5)
}.box {width: .pxToRem(100)[result];height: .pxToRem(100)[result];background-color: orange;
}p {font-size: .pxToRem(14)[result];
}

4.3 postcss-pxtorem

http://www.3qphp.com/web/javascript/4854.html

4.4 利用vscode插件

5、vh、vw单位换算

移动端适配问题解决方案相关推荐

  1. vue做移动端适配最佳解决方案,亲测有效

    最近在做商城的项目,发现有赞的ui非常适合,但有一个问题是有赞的ui用的单位是px,做不了移动端的适配,官网的提供的vw适配方案发现不可行,最后还是决定rem来做适配,上网搜了一下,发现了一套可用方案 ...

  2. 移动端适配常用解决方案

    几个概念: 设备独立像素(dip).设备像素比(dpr).设备像素 设备像素: 即物理像素,指设备能控制显示的最小单位,就是显示屏上一个个的像素点. 设备独立像素(dip): 也称为逻辑像素.密度独立 ...

  3. vue移动端适配解决方案

    手淘适配解决方案 阿里巴巴淘宝团队出品的amfe-flexible是一个用于解决移动端不同机型适配的包.在其源码中,通过不同屏幕的像素比来设置scale值,保证当前窗口的device-width始终等 ...

  4. React移动端适配解决方案lib-flexible和postcss-px2rem、node.getIterator is not a function 报错使用postcss-pxtorem

    文章目录 React移动端适配解决方案lib-flexible和postcss-px2rem 第一步 第二步 第三步 第四步 第五步 问题分割线==================== 一.淘宝弹性布 ...

  5. 移动端web自适应适配布局解决方案

    100%还原设计图,要注意: 看布局,分析结构. 感觉难点在于: 1.测量精度(ps测量数据): 2.文字的行高. 前段时间写个移动端适配的页面(刚接触这方面),查了一些资料,用以下方法能实现: 1. ...

  6. 后台管理系统移动端适配解决方案

    lib-flexible + postcss-pxtorem 1.安装 npm i lib-flexible npm i postcss-pxtorem 2.在main.js引入 // 移动端适配 i ...

  7. pc端与移动端适配 解决方案

    一般网站实现pc端与移动端适配的需求,方案有两个: 1.一套页面,从设计时就考虑到跨设备适配,响应式的一步到位: 2.开发两套页面,根据设备尺寸加载加载不同的资源,目前已经不常见了: 一:响应式方案 ...

  8. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

  9. vue-cli3.0 移动端适配

    方案: 固定一个某些宽度,使用一个模式,加上少许的媒体查询方案 使用flexbox解决方案 使用百分比加媒体查询 使用rem 用px2rem配合lib-flexible 关于移动端的适配,我喜欢用px ...

最新文章

  1. java 发送邮件昵称_javaMail发送邮件设置发件人中文昵称
  2. 演示数据块整理(合并)的效果
  3. 通过JCONSOLE监控TOMCAT的JVM使用情况
  4. java知识点3(null)
  5. 一次失败的做题经历(HDU2112)
  6. 六大排序原理(十六)
  7. Servlet实现上传下载
  8. 贴片工字电感的封装及结构
  9. 项目管理的扫地僧---PRINCE2,学过PMP的必进!
  10. 基于STM32F103C8T6的74HC595驱动8位数码管模块学习
  11. 第三方支付api接口是什么?
  12. java代码实现一个月内不再提醒,通用到期问题
  13. css3动画Animate.css插件与wow.js插件
  14. (一)安装Emacs
  15. Android 开发中渐变背景的简单使用
  16. loopback(本地回环)接口的作用
  17. excel单元格内容拆分_Excel技巧:如何批量合并相同内容单元格?
  18. android 浏览器 遥控器 光标,论Android智能电视盒子必装应用之——飞视浏览器
  19. Python的全局安装源配置
  20. SAP小技巧之 标签打印

热门文章

  1. OSSEC服务端配置客户端批量部署方案
  2. ggplot做火山图---添加任意基因标签|||突出显示标记基因
  3. Java | 比赛成绩统计
  4. PPT制作经验总结(PPT制作七条原则)
  5. android中判断当前上午、中午、晚上
  6. 高级Java程序面试问题整理
  7. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第15波-接入AI人工智能NLP自然语言处理...
  8. AJAX传值中文乱码
  9. DAGA: Data Augmentation with a Generation Approach for Low-resource Tagging Tasks 论文解读
  10. VLAN间通信比较及VLANIF配置