如题,这种方式做的移动Web页面,设计稿通常是按照960*640的规格进行设计,再开发的时候,通常会把里面量到的尺寸缩小一半再开发。
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
那既然要缩小一半再开发,为什么不直接设置width=640,然后按照设计稿的尺寸进行开发呢?
对于第一种方法,我暂时能想到好处之后图片缩小了一半,不知道还有什么其他原因促使大家去用width=device-width
这涉及到了移动设备(ios, android)的屏幕尺寸问题,device-width
指的是设备的物理宽度,width
是页面宽度,这么做是为了兼容更多的设备,当然只通过viewport
标签还是不够的,还需要配合Media Query进行响应式设计。
这儿有两篇之前翻译的关于viewport的文章,希望有帮助:
http://weizhifeng.net/viewports.html
http://weizhifeng.net/viewports2.html
在网页的<head>中增加这句话,可以让网页的宽度自动适应手机屏幕的宽度。 其中: width=device-width :表示宽度是设备屏幕的宽度 initial-scale=1.0:表示初始的缩放比例 minimum-scale=0.5:表示最小的缩放比例 maximum-scale=2.0:表示最大的缩放比例 user-scalable=yes:表示用户是否可以调整缩放比例
手机的屏幕肯定有各种分辨率如果单纯固定死640的话,你就看不到其他手机分辨率的效果了
自适应网页设计参考 http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html
视网膜屏幕的分辨率比如 960*640 , 并非所有屏幕都是视网膜屏幕, 比如iPhone3GS的分辨率就是480*320
为了让页面在两者都可以正常显示,所以视网膜屏幕主机的浏览器会做一些 "特殊的动作"(比如如果你什么也不做,就只是设个宽度,你会发现结果出乎你意料,建议你在iPhone4S试一下,它的分辨率刚好是960*640,但是你不加Meta画一个96*640的div试试) .
真正的原因是一份标签适应960*640和480*320以及其他(比如电脑,有时候会用电脑或iPad浏览手机网页)
你可以在页面里写一个js计算浏览器渲染的宽度,你会发现iphone浏览器认为自己的宽度只有320px
加width=device-width
,字体大小才会适合阅读。你用手机访问一些网站的时候,看到的页面和电脑上一样,字体非常小,需要缩放才能看清,这种就是没加width=device-width
的。
如果布局、字体都没什么问题,缩放也不是很有必要了。