meta name=viewport content=width=device-width, initial-scale=1 作用

2023-12-16 04:58

本文主要是介绍meta name=viewport content=width=device-width, initial-scale=1 作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。


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

作用是设置可视区域的宽度初始缩放比例

1 width

可视区域的宽度,值可为数字或关键词 device-widthphys.width

  • device-width:又指 css-width,通过 window.screen.width 获取

  • phys.width:物理宽度,通过 document.documentElement.clientWidth 获取

通常 device-widthphys.width 不相等,如 iPhone6 的 phys.width 为 750px,而 css-width 为 375px

2 height

可视区域的高度

3 initial-scale

可视区域初始缩放比例

4 maximum-scale

允许用户缩放的最大比例,1.0 将禁止用户放大到实际尺寸以上

5 minimum-scale

允许用户缩放的最小比例,1.0 将禁止用户缩小到实际尺寸以下

6 user-scalable

是否允许用户手动缩放,no 禁止缩放

详细说明:

浏览器如果把电脑端宽度为 980px 的网页展现在宽度为 750px 的 iPhone6 手机屏上,势必会放不下,手机端横向会出现滚动条,怎么阻止这种情况呢,很简单,浏览器默认一个虚拟窗口,不同浏览器有不同的虚拟窗口宽度的默认值,如:

  • Safari iPhone:980px

  • opera:850px

  • Andriod webkit:800px

  • IE:974px

然后把这个 980px 虚拟窗口装进宽度为 750px 的 iPhone6 中,当然这样的话必须缩放,这就是为什么在手机中展现电脑端页面没有出现横向滚动条,而且字迹明显变小的原因。

meta 标签中,width 有两个含义:

I widthphys.width

II width 也是虚拟窗口的 width

这样就会有两个结果:

I iPhone6 的 phys.width 也变成了 css-width 即 375px,可以通过 document.documentElement.clientWidth 获取得到此时 phys.width 确实为 375px

II 如果是 375px 的手机端页面,此时的虚拟窗口的宽度也为 375px,再装进 phys.width 为 375px 的手机时,当然如设计的效果一致,不会缩放,也不会出现横向滚动条

此外还会影响响应式布局和媒体查询

@media only screen and (min-width: 350px) and (max-width: 480px){.....................}

如没有meta标签,此时的 width 当然即为 phys.width,iPhone6 就不会执行上边的括号里边的代码,但是有了 meta 标签以后呢,width 变成了 css-width,即为 375px,,所以是会执行代码的。

从以上可以看出,有了 meta 标签以后,原本的 iPhone6,即像素比为2的手机,可以按照 css-width 相同的像素比为1的手机一样正常显示,像素比更高的手机也能正常显示。当然现在 andriod 的 2K 屏在 meta 标签的帮助下也能正常显示。即对于开发者来说,已经可以不管手机的像素比,只需按照 css 像素编写代码即可。

这篇关于meta name=viewport content=width=device-width, initial-scale=1 作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499181

相关文章

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Java 继承和多态的作用及好处

《Java继承和多态的作用及好处》文章讲解Java继承与多态的概念、语法及应用,继承通过extends复用父类成员,减少冗余;多态实现方法重写与向上转型,提升灵活性与代码复用性,动态绑定降低圈复杂度... 目录1. 继承1.1 什么是继承1.2 继承的作用和好处1.3 继承的语法1.4 子类访问父类里面的成

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

SpringBoot 中 CommandLineRunner的作用示例详解

《SpringBoot中CommandLineRunner的作用示例详解》SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的... 目录1、CommandLineRunnerSpringBoot中CommandLineRunner的作用

$在R语言中的作用示例小结

《$在R语言中的作用示例小结》在R语言中,$是一个非常重要的操作符,主要用于访问对象的成员或组件,它的用途非常广泛,不仅限于数据框(dataframe),还可以用于列表(list)、环境(enviro... 目录1. 访问数据框(data frame)中的列2. 访问列表(list)中的元素3. 访问jav

Kotlin运算符重载函数及作用场景

《Kotlin运算符重载函数及作用场景》在Kotlin里,运算符重载函数允许为自定义类型重新定义现有的运算符(如+-…)行为,从而让自定义类型能像内置类型那样使用运算符,本文给大家介绍Kotlin运算... 目录基本语法作用场景类对象数据类型接口注意事项在 Kotlin 里,运算符重载函数允许为自定义类型重

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali