meta viewport用法

716 阅读2分钟

首先,我们要知道meta标签和viewport属性都是干什么用的,才可以回答这个问题

meta标签

元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

这是w3cschool对于meta 标签的描述。通过这句话可以知道,meta 标签主要用于描述页面的一些信息。meta标签可以提供四个参数:

  • name
  • http-equiv
  • content
  • scheme 其中 content 是对另外两者的描述,类似于 json 中键值对的形式,而 scheme 定义用于翻译 content 属性值的格式。

例:

<meta name="keywords" content="html,css,javascript,vue">

这个标签描述了网页的关键字有 html,css,javascript 和 vue。

viewport

接下来我们再来看viewport ,viewport 是 meta 标签的 name 属性中可选值中的一个,指 web 页面上用户可见的区域,用于移动端页面设计 例:

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

当然,很多小伙伴平时可能有使用过这段代码,却没有探究过它的原理:为什么使用了这段代码,就能进行响应式开发了?

要回答这个问题,我们先来看看曾经的前端移动开发面临的困境:

由于一开始的网页主要只是用于在 PC 上展示,所以开发者们并没有过多考虑关于移动端访问的问题,但随着移动端的兴起,越来越多的 Web 访问变成了通过移动端进行的。而由于 PC 端的 viewport 比移动端大,所以为了解决这个问题,浏览器只能的等比的缩小整个页面,导致页面的字体,图片等等都显得非常小,而由于 PC 端的 viewport 是横屏的(宽大大于高),而移动端是竖屏,所以用户放大网页之后还会出现横向的滚动条,这一系列都让用户体验相当不好。 所以为了解决上面的问题,最早由 Apple 在 Safari iOS 中引入了 viewport meta 标签,让Web开发人员控制视口的大小和比例。

让我们再来看看一开始的设置:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
keymeanexample
width视口的宽度width=device-width 指缩放为 100% 时以 CSS 像素计量的屏幕宽度
initial-scale初始化缩放比例initial-scale=1.0 初始化不进行缩放
maximum-scale用户最大缩放比例maximum-scale=1.0 不允许用户缩放

当你掌握了viewport,那么意味着你已经大致了解了移动平台与PC平台的不同,你可以更专注而细致的去解决某些平台差异问题。