了解 viewport meta tag

全栈打杂
• 阅读 1047

什么是 viewport

viewport, 中文也叫“视口”。在浏览器范畴里,它代表的是在浏览器中,可以看到的网页内容。viewport 外的内容在被滚动进来前都是不可见的。

进一步细分 viewport,当前可见的部分叫做 visual viewport(可视视口)。visual viewport 可能会比 layout viewport(布局视口)更小,因为当用户缩小浏览器缩放比例时,布局视口不变,而可视视口变小了。这导致用户需要横向滑动滚动条才能看到完整的信息。
我们可以用维基百科的首页举例,大家也可以自己点进去缩放浏览器感受一下:

  1. 正常情况下,visual viewport = layout viewport
  2. 当我们缩小浏览器比例时,visual viewport < layout viewport。这时候需要滑动下面的滚动条才能看到完整的 layout viewport。
    了解 viewport meta tag

属性

为了满足 visual viewport = layout viewport 的理想情况,就需要通过 meta 标签来配置 viewport 的不同属性来设计网页。
一般我们用 HTML5 模板生成一个 html 文件时,viewport 会初始化出下面这些属性:
<meta name="viewport" content="width=device-width, initial-scale=1">

  1. content="width=device-width的意思是让 layout viewport 的宽度等于设备宽度。
  2. initial-scale=1的意思是允许用户对页面进行缩放。

viewport的6个属性

  1. width: 设置布局窗口的宽度。上面的例子里,我们将其设置为device-width。 同时,它也可以设置为指定的数字,width=960意思是宽度设置为960px
  2. initial-scale: 设置页面的第一次加载时候的缩放和布局窗口的宽度。一般默认值是 1。
  3. minimum-scale: 设置最小缩放级别(即用户可以缩小多少)。这就剥夺了用户的控制权,不推荐。
  4. maximum-scale: 设置最大缩放级别(即用户可以放大多少)。同样,不建议这样做。
  5. user-scalable: 当设置为 no 时,将阻止用户缩, 不推荐。
  6. height: 应该设置布局 viewport 的高度。任何地方都不支持....所以不确定是否包括在内。

参考文章

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
前端尾随者 前端尾随者
3年前
scrollIntoView 与 scrollIntoViewIfNeeded API 介绍
本文转自:根据的描述,Element.scrollIntoView()方法让当前的元素滚动到浏览器窗口的可视区域内。而Element.scrollIntoViewIfNeeded()方法也是用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动。此方法是标准的Element.scroll
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
4年前
QQ空间说说生成器
index.html<html<head<metaname"viewport"content"widthdevicewidth,initialscale1,userscalableno"<stylebody{margin:0;padding:
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
Flutter 可滚动组件:简介
前言当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。为此,Flutter提供了多种可滚动组件(ScrollableWidget)用于显示列表和长布局。可滚动组件都直接或间接包含一个Scrollable组件,它们包括一些共同的属性,接口如下:Scrollable({
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
一行代码修复100vh bug | 京东云技术团队
你知道奇怪的移动视口错误(也称为100vhbug)吗?或者如何以正确的方式创建全屏块?一、100vhbug什么是移动视口错误?你是否曾经在网页上创建过全屏元素?只需添加一行CSS并不难:.mypageheight:100vh1vh是视口高度的1%,正是我们
全栈打杂
全栈打杂
Lv1
所有的快乐,都来源于生活的心动。
文章
4
粉丝
0
获赞
0