[移动端] “viewport“ content=“width=device-width, initial-scale=1.0“ 什么意思

ops/2024/10/18 23:22:33/

布局视口, 代码如下

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>body,html {margin: 0;padding: 0;}.box {width: 200px;height: 200px;background-color: pink;}</style>
</head><body><div class="box"></div>
</body></html>

怎么换成移动端就这么小了呢?

因为默认视口是980px,这个盒子相对980等比缩小就变成这样了

那怎么办?加参数!!

假如我的视口是400px

 <meta name="viewport" content="width=400px ">

就会得到以下情况

 没错,占了一半!!

但是总不能写死这个宽度,为了让页面显示完整,可以让视口宽度等于设备宽度

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

  • width=device-width 表示网页的宽度应该等于设备的宽度,这样可以确保网页在不同设备上以正确的比例显示,不会出现水平滚动条。
  • initial-scale=1.0 表示网页的初始缩放比例为1.0,也就是默认大小,不进行缩放。

 如果你不想别人放大,你可以设置

  <meta name="viewport" content="width=200px, initial-scale=1.0,user-scalable=no">

确保万一 ,最小最大值都设置1

  <meta name="viewport" content="width=200px, initial-scale=1.0,

  user-scalable=no, maxmun-scale=1.0,minmun-scale=1.0">

 可参考京东

如何自适应

上面只是等比例放小而已,有没有根据不同屏幕大小来放大缩小

方案一:百分比适配

因为不同属性的百分比值相对的可能是不同参照物, 所以百分比在移动端适配中使用是非常少的;
 

方案二:rem+动态的font-size值

只要考虑2件事情

问题一: 针对不同的屏幕,设置html不同的font-size
问题二: 将原来要设置的尺寸,转化成rem单位

媒体查询

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=00px, initial-scale=1.0,user-scalable=no, maxmun-scale=1.0,minmun-scale=1.0"><title>Document</title><style>@media screen and (max-width:320px) {html {font-size: 7px;}}@media screen and (min-width:375px) {html {font-size: 16px;}}@media screen and (min-width:426px) {html {font-size: 20px;}}body,html {margin: 0;padding: 0;}.box {width: 15rem;height: 15rem;background-color: pink;}</style>
</head><body><div class="box"></div>
</body></html>

 缺点如下

1.我们需要针对不同的屏幕编写大量的媒体查询

2,如果动态改变尺寸,不会实时的进行更新,而是大于某个范围才更新

方案二

 

javascript">    //获取html元素let html = document.documentElement;function setREM() {//重新计算html-px值const htmlFontSize = html.clientWidth / 10;//重新赋值htmlpx值html.style.fontSize = htmlFontSize + 'px'}//上来就初始化启动一次setREM()//监听大小重新启动window.addEventListener('resize', setREM)

 方案三:github库

https://github.com/amfe/lib-flexible/tree/2.0

方案二:vw

方案四:flex


http://www.ppmy.cn/ops/20888.html

相关文章

vue 的 keep-alive 详解

目录 keep-alive 是什么&#xff1f; keep-alive 属性 keep-alive 使用场景及用法 keep-alive 匹配规则 缓存实例的生命周期 缓存后如何获取数据 原理分析 keep-alive 是什么&#xff1f; <KeepAlive> 是一个内置组件&#xff0c;它的功能是在多个组件间动态切换…

【高阶数据结构】B树 {B树的概念;B树的实现:节点设计,查找,插入,遍历,删除;B树的性能分析;B+树和B*树;B树的应用}

一、常见的搜索结构 以上结构适合用于数据量相对不是很大&#xff0c;能够一次性存放在内存中&#xff0c;进行数据查找的场景。如果数据量很大&#xff0c;比如有100G数据&#xff0c;无法一次放进内存中&#xff0c;那就只能放在磁盘上了&#xff0c;如果放在磁盘上&#xff…

redis中的集群模式

主从复制、主从同步(解决高并发读的问题) 主从同步原理&#xff1a; 1.全量同步 slave&#xff08;从节点&#xff09;每次请求数据同步会带两个参数&#xff1a;replid和offset。 replid&#xff1a;第一次请求同步时&#xff0c;replid和master的replid不一样&#xff0c;这…

【ARM 裸机】BSP 工程管理

回顾一下上一节&#xff1a;【ARM 裸机】NXP 官方 SDK 使用&#xff0c;我们发现工程文件夹里面各种文件非常凌乱&#xff1b; 那么为了模块化整理代码&#xff0c;使得同一个属性的文件存放在同一个目录里面&#xff0c;所以学习 BSP 工程管理非常有必要。 1、准备工作 新建…

每天一个数据分析题(二百九十)——直方图与条形图

关于直方图与条形图的描述&#xff0c;下列说法正确的是&#xff08;&#xff09; A. 直方图用于展示分类型数据的分布情况 B. 直方图用来展示数值型数据的分布情况 C. 条形图只能用于展示顺序型数据的分布情况 D. 条形图只能用于展示分类型数据的分布情况 题目来源于CDA模…

合肥高新区党工委委员、管委会副主任方向民一行调研昂辉科技

4月24日&#xff0c;合肥高新区党工委委员、管委会副主任方向民&#xff0c;合肥高新区经发局产业处处长王佳奇&#xff0c;产业创新处陈珂&#xff0c;合肥高投投资管理二部副总经理张雪松&#xff0c;兴泰资本章延隽一行莅临昂辉科技调研指导。昂辉科技董事长方菱、总经理徐封…

Day17.一刷数据结构算法(C语言版) 654最大二叉树;617合并二叉树;700二叉搜索树中的搜索;98验证二叉搜索树

又是破防的一天...... 一.654最大二叉树 又是构造二叉树&#xff0c;昨天大家刚刚做完 中序后序确定二叉树&#xff0c;今天做这个 应该会容易一些&#xff0c; 先看视频&#xff0c;好好体会一下 为什么构造二叉树都是 前序遍历 题目链接&#xff1a;最大二叉树 文章讲解&…

windows ubuntu sed,awk,grep篇:2:sed 替换命令

目录 6.sed 替换命令语法 7.全局标志 g 8.数字标志(1,2,3 ….) 9.打印标志 p(print) 10.写标志 w 11.忽略大小写标志 i (ignore) 12.执行命令标志 e (excuate) 13.使用替换标志组合 14.sed 替换命令分界符 15.单行内容上执行多个命令 16.&的作用——获取匹配到的模式 17.分…