[html5]页面宽度大于980px的网页手机浏览器如何自适应
最近在做一个页面时,发现在 iPad 的 Safari 浏览器中背景显示不全,定位到该 div 后发现所指定 css 的宽度为 100% ; 到百度搜索后发现,safari 中 viewport 默认宽度为 980px,若事先未指定其初始 viewport 宽度,则会默认按照 980px 处理。
可以默认初始化 viewport 宽度或在 css 中设定 min-width,但最简单的方法可以在 head 标签中初始化好 viewport。
详见下方代码:
<meta name="viewport" content="width=网页真实宽度, initial-scale=倍数值"/>
假设网页宽度为 960px 或 1080px,可在width中加入该值,并将 initial-scale 设置一个适合的倍数值。
例如一个页面的宽度为 1080px,则设定为:
<meta name="viewport" content="width=1080, initial-scale=0.9"/>
这样不管加载前后切换横屏还是竖屏,都可以友好显示。
可是比如头部部分设置为width:100%,而网页中部最大宽度为默认:1200px,头部和中部长度不一致。这个问题在pc端和手机的默认像素不一致造成。该如和解决?
找了很多资料,终于找出来了:在网页的<head>中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度:
- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
- <meta name="apple-mobile-web-app-capable" content="yes" />
- <meta name="format-detection" content="telephone=no" />
第一行:
width=device-width :表示宽度是设备屏幕的宽度
initial-scale=1.0:表示初始的缩放比例
minimum-scale=0.5:表示最小的缩放比例
maximum-scale=2.0:表示最大的缩放比例
user-scalable=yes:表示用户是否可以调整缩放比例
第二行:
设定iphone端页面全屏。
第三行:
取消数字被识别为电话号码。
如果是想要一打开网页,则自动以原始比例显示,并且不允许用户修改的话,则是:
- <meta name="viewport" content="width=device-width(这里是可以变化的,根据你的其他div的宽度来设置), initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
这样子写后,就可以把一些页头横幅等的图片的宽度都设置成style="width:100%",整个页面在设备上看起来就是全屏的了。要把width=device-width 中的device-width换成你中部设置的像素值,比如我的设置为1200px, 这样问题就解决了。
来源:http://blog.csdn.net/houerfei/article/details/42995901
热门文章推荐
- 10款html5网页播放器推荐(总有一款适合你)
- [html5]html5+css3实现图片斜角切成直角梯形显示的源代码
- [HTML5]HTML5视频video时间事件代码
- [微信]iOS苹果和微信中音频和视频实现自动播放的方法
- [html5]html5视频全屏实现的源代码
- [Html5]mobile-agent移动Agent,就是具有移动性的智能Agent
- [html5]视频播放器js控制vedio视频和分段播放
- [html5]H5播放器:竖屏播放\横屏播放\跟随旋转例子