KyleBlog.cn 文章 标签 关于
文章 标签 关于

viewport配置里的width=device-width和initial-scale=1.0到底是干嘛的 ¶

通常,我们写支持移动端的h5网页时,都会在htmlheader里加上这么个meta标签:

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

里面的关键信息是width=device-width, initial-scale=1.0,那么它们的含义是什么?

假如没有这个viewport配置 ¶

我们先写一个简单的h5网页,注意,viewport配置被我们注释掉了:

<!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>
    div {
      width: 200px;
      height: 200px;
      border: 1px solid red;
    }
  </style>
</head>
<body>
<div></div>
</body>
</html>

网页很简单,一个200像素宽高的div,边框为红色。

在移动端(用Chrome开发工具模拟的iPhone)下的显示效果如下:

1660470359176

诡异的现象出现了,明明iPhone的宽度只有414像素,但是我们的200像素宽的div却只占了很少的宽度,理论上应该占据近一半空间才对。

加上viewport配置的效果 ¶

在上面的html里,补上<meta name="viewport" content="width=device-width, initial-scale=1.0">后,效果如下:

1660470543112

很明显,现在的div宽度和iPhone的宽度可以对的上,即,200像素的div差不多有414像素的iPhone的一半宽。

背后的原理 ¶

这就涉及到浏览器的发展历史了:

  1. 在很久很久以前,智能手机等移动设备尚未面世,市面上大多的网站都是针对桌面设备(PC)设计的,在宽度大于1000像素的显示器上,网页可以正常工作。
  2. 后来,智能手机等移动设备横空出世。移动设备的显示屏宽度一般都很小,如果像桌面浏览器一样直接展示世面上的网站,效果必然非常糟糕。想象一下,把自己电脑浏览器的窗口宽度缩小到400像素再去访问传统网站,要么界面错乱,要么出现横向滚动条。
  3. 于是,移动设备厂商们,对自带的浏览器做了魔改:默认将网页缩小N倍,这样就能完整地显示在移动设备上了!比如说,把网页缩小5倍,那就可以把200像素的小屏幕当做1000像素的大屏幕用啦!
  4. 魔改的“缩小显示”策略只是勉强可用,字很小,用户体验自然很差。随着移动设备越来越普及,网站的设计者们也开始重视起移动端。新的网站开始对小屏幕专门做适配,即,网页可以做到在200px宽度上无缩放正常显示(主要就是把以前并排的东西垂直堆叠了)。
  5. 于是问题来了,新网站已经支持移动设备的小屏幕了,但是移动设备却不知道这件事,依然把网站做缩放处理(用200像素的小屏幕模拟1000像素的大屏幕)。
  6. 为了解决这个问题,我们需要一个机制,让网站来告诉移动设备到底需不需要做缩放(小屏幕模拟大屏幕)。实际上,这个机制就是name为viewport的meta标签,它通过width和initial-scale属性来控制移动设备浏览器的行为。viewport的中文名叫视口,表示浏览器用于展示网页的部分,不包括地址栏、标签栏之类的。
    • width=device-width:浏览器视口的宽度应当与设备的真实宽度一致。(比如,200像素宽度的屏幕,就只能放200像素的内容,而不是通过缩放来塞进1000像素的内容)
    • initial-scale=1.0:不做任何缩放。自己的设备试了下,如果设置了width=device-widthinitial-scale默认就是1.0。以防万一,还是加上吧。

本文为 kyleblog.cn原创,转载请注明出处: https://www.kyleblog.cn/posts/viewport

发布日期:2022-08-14 联系作者

章节导航
  • viewport配置里的width=device-width和initial-scale=1.0到底是干嘛的
    • 假如没有这个viewport配置
    • 加上viewport配置的效果
    • 背后的原理
相关标签

html

玻璃钢生产厂家玻璃钢冰雪雕塑潮州美陈玻璃钢动物雕塑广东园林玻璃钢雕塑定制工艺玻璃钢人物雕塑尺寸上海玻璃钢动物雕塑厂安阳玻璃钢雕塑定做武威玻璃钢植物雕塑定做南通玻璃钢人物雕塑价格宁德玻璃钢花盆工厂室内玻璃钢雕塑施工方案惠山玻璃钢造型雕塑玻璃钢雕塑使用玻璃钢雕塑厂批发价格乐山玻璃钢海豚雕塑价格商场美陈问题图片衢州玻璃钢陶瓷雕塑企业吉林玻璃钢雕塑模型西安市玻璃钢雕塑模型厂家瑞安玻璃钢雕塑厂家龙泉玻璃钢雕塑厂家电话商场化妆品区美陈效果图玻璃钢镂空不锈钢雕塑定做厂家金水区景观玻璃钢雕塑烟台玻璃钢雕塑多少钱怀化玻璃钢座椅雕塑批发常用玻璃钢雕塑摆件价格玻璃钢公园雕塑免费咨询开州艺术玻璃钢雕塑临清玻璃钢雕塑上乘玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化