移动端的meta viewport

什么是viewport

手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。

移动viewport的特点

移动端和桌面端不一样,它有2个视口(viewport):可见视口(visual viewport)和 布局视口(layout viewport).

关于2者的区别,stack overflow有这样的解释:

想象下现在有一张不会改变尺寸和形状的大的图片,你手里拿着一个中空的框子(想象下砸空你手机的屏幕),透过它你可以看到这张图片,并且这个框框的周围是用不透明的材料做成的,你只能通过中间的洞去看这张图片。你可以移动这个框子,靠近自己的眼睛的话可以看到更多的图片区域,也可以使它远离自己的眼睛,从而只看到这张图片的一部分小区域。

那张不可改变形状和尺寸的图片=布局视口(layout viewport)

你手中的中空的框子=可见视口(visual viewport)

也就是说我们在移动端用手指来缩放屏幕,其实改变的是可见视口(visual viewport)的尺寸,而布局视口(layout viewport)总是保持不变。

viewport设置

<meta name="viewport" content="参数名称=参数值(多个参数用逗号隔开)" />

主要参数有下面几个:

maximum-scale:用户可以缩放的最大值

minimum-scale:用户可以缩放的最小值

initial-scale:viewport的默认缩放大小

width:固定viewport的宽度

height:固定viewport的高度

user-scalable:是否允许用户缩放

前三个参数都是缩放相关的,它们的值是viewport的缩放大小,他们仅仅改变缩放大小,并不是改变viewport的实际大小。比如要让网页加载时候显示两倍大小就可以加上这个

<meta name="viewport" content="initial-scale=2" />

 

之后就是width和height,修改这俩东西就和我们在PC上访问网页时候用鼠标拖动浏览器来改变大小一样。或者说是浏览器(页面区域)在屏幕上的默认大小。可以是具体的数值,也可以用“device-width”和“device-height”把它设置成浏览器屏幕的大小。比如要把页面宽度固定到浏览器的屏幕上,防止出现横向滚动条就可以使用

<meta name="viewport" content="width=device-width" />

 

最后一个是指定是否允许用户自己缩放,也就是用户通过两个手指触屏来缩放的方式。默认都是允许的值为1,如果要禁止可以把它的值设置为0。就像下面这样

<meta name="viewport" content="user-scalable=0" />

 

设置了这个属性以后两个手指在屏幕上把它摸到高潮它也不会缩放。上面这些属性只要设置就可以让网页在Mobile设备下好好显示,我一般会禁止横向滚动条和用户缩放,就像下面这样

<meta name="viewport" content="width=device-width" />

 

最后一个是指定是否允许用户自己缩放,也就是用户通过两个手指触屏来缩放的方式。默认都是允许的值为1,如果要禁止可以把它的值设置为0。就像下面这样

<meta name="viewport" content="width=device-width,user-scalable=0" />

只要把他们用逗号隔开就可以了,不过有些浏览器不支持width和height设置固定数值(我这充话费送的破手机的默认浏览器就不支持)所以最好别用那个。

时间: 2025-01-07 18:11:15

移动端的meta viewport的相关文章

缩放-meta viewport和iframe中的meta冲突

问题描述 meta viewport和iframe中的meta冲突 先说明下环境. android开发的app.java谢了个壳子,套了个浏览器放到app里面,再将html在浏览器中使用. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=device-wid

关于移动端meta设置(未完待续)

<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0, user-scalable=no"> <!-- 定义这个东西,让他屏幕大小适应手机端--> <meta name="viewport" content="width=device-width, initial-scal

移动平台的meta标签-----神奇的功效

对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究竟有哪些神奇的功效呢? 1.Meta 之 viewport 说到移动平台meta标签,那就不得不说一下viewport了,那么什么是viewport呢? viewport即可视区域,对于桌面浏览器而言,viewport指的就是除去所有工具栏.状态栏.滚动条等等之后用于看网页的区域 .对于传统WEB页

学习CSS教程:学习CSS网页布局

文章简介:你也许知道什么叫选择器,什么叫属性,什么叫数值,也许你对css布局略懂一二,但这还远远不够.如果你想着从头开始学习HTML和CSS的话,我建议你认真查看下 this tutorial. 否则,在工作的时候,你依然陷入迷惘的泥潭中苦苦挣扎. 这个篇文章介绍的是现在广泛使用于网站布局领域的CSS基础. 你也许知道什么叫选择器,什么叫属性,什么叫数值,也许你对css布局略懂一二,但这还远远不够.如果你想着从头开始学习HTML和CSS的话,我建议你认真查看下 this tutorial. 否则

HTML head 头标签详细介绍

 HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性.移动互联网时代,head 头部结构,移动端的 meta 元素,显得更为重要.了解每个标签的意义,写出满足自己需求的 head 头标签,是本文的目的.本篇以一丝的文章为基础,进行扩展总结介绍常用的 head 中各个标签.元素的意义以及使用场景. DOCTYPE DOCTYPE(Document Type),该声明位于文档中最前面的

响应式新首页Device Adaptation小结分析

由于用户浏览器分辨率分布.运营维护成本.全站页面宽度规范等原因,2012年末一淘新首页对1200px.990px.750px(for ipad)这3个尺寸的响应不同布局,期望在ipad下横屏显示990px版本,竖版显示750版本,iphone下显示750版本.不同设备尺寸的不同 显示自然少不了viewport设置,目前W3C针对viewport的规范还处于草案阶段,有2种方式可以设置页面的 viewport,viewport meta标签和@viewport css方式. 一.viewport

基于jquery实现全屏滚动效果_javascript技巧

那么今天就来介绍这款fullPage,与fullPage.js是不同的,fullpage兼容性更佳,能向下兼容到IE6, 不依赖任何 js 库,可独立使用.功能上虽然不如 fullPage.js 强大,但一般使用已经足够了,尤其是它的动画效果,你可以自由设定缩放.旋转以产生各种各样的动画效果.同时它还支持 fullPage.js 所没有的水平滚动. 兼容桌面端(ie5.5+) 和 手机端 你可以用它来构建你的个人主页或者网页应用 这是一个不使用jQuery小巧的框架 不到9KB 再介绍之前先看一

CSS3与页面布局学习总结(四)——页面布局大全

一.负边距与浮动布局 1.1.负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见的功能如下: 1.1.1.向上移动 当多个元素同时从标准流中脱离开来时,如果前一个元素的宽度为100%宽度,后面的元素通过负边距可以实现上移.当负的边距超过自身的宽度将上移,只要没有超过自身宽度就不会上移,示例如下: <!DOCTYPE html> <html> <head> &

手机端页面rem宽度自适应脚本

  网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方.重点给大家介绍下rem.有需要的小伙伴可以参考下. 什么是rem 在我看来,rem就是1rem单位就等于html节点fontsize的像素值.所以改变html节点的fontsize是最为关键的一步.根据手机宽度改变相对大小就可以实现自适应了,就不用什么媒体查询那些的. 我们的设计图往往宽度是640或者其他尺寸的,不过我建议是用这个尺寸,以640为基准,以小到大,实现自适应,下面实现的比例为1re