web前段设计之痛:手机浏览器和pc浏览器的width:100%的自适应问题

Tips: 调试 iPad 或 iPhone 可在设置中启动调试模式,在 Mac 中的 Safari 浏览器 同样开启开发者模式后,进行联机调试。功能彪悍。

最近在做一个页面时,发现在 iPad 的 Safari 浏览器中背景显示不全,定位到该 div 后发现所指定 css 的宽度为 100% ;

到百度搜索后发现,safari 中 viewport 默认宽度为 980px,若事先未指定其初始 viewport 宽度,则会默认按照 980px 处理。

可以默认初始化 viewport 宽度或在 css 中设定 min-width,但最简单的方法可以在 head 标签中初始化好 viewport。

详见下方代码:

<metaname="viewport"content="width=网页真实宽度, initial-scale=倍数值"/>
假设网页宽度为 960px 或 1080px,可在width中加入该值,并将 initial-scale 设置一个适合的倍数值。

例如一个页面的宽度为 1080px,则设定为:

<metaname="viewport"content="width=1080, initial-scale=0.9"/>
这样不管加载前后切换横屏还是竖屏,都可以友好显示。【可参考:股票配资 手机端与pc端的浏览对比 】

可是比如头部部分设置为width:100%,而网页中部最大宽度为默认:1200px,头部和中部长度不一致。这个问题在pc端和手机的默认像素不一致造成。该如和解决?

找了很多资料,终于找出来了:

在网页的<head>中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度:

[html] view plaincopy
  1. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
  2. <meta name="apple-mobile-web-app-capable" content="yes" />
  3. <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端页面全屏。第三行:取消数字被识别为电话号码。 如果是想要一打开网页,则自动以原始比例显示,并且不允许用户修改的话,则是: [html] view plaincopy
  1. <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】 这样问题就解决了。

				
时间: 2024-10-03 00:08:22

web前段设计之痛:手机浏览器和pc浏览器的width:100%的自适应问题的相关文章

Web前段开发人员须知的常见浏览器兼容性问题及解决技巧

为什么会有兼容性问题? 由于市场上浏览器种类众多,而不同浏览器其内核亦不尽相同,所以各个浏览器对网页的解析就有一定出入,这也是导致浏览器兼容问题出现的主要原因,我们的网页需要在主流浏览器上正常运行,就需要做好浏览器兼容. 使用Trident内核的浏览器:IE.Maxthon.TT: 使用Gecko内核的浏览器:Netcape6及以上版本.FireFox: 使用Presto内核的浏览器:Opera7及以上版本: 使用Webkit内核的浏览器:Safari.Chrome. 而我现在所说的兼容性问题,

响应式web网站设计制作方法

在研究响应式的时候,记录了一些感想,分享出来,抛砖引玉,希望可以和大家一起讨论.总结下来,响应式比之前想象的要复杂得多. 1. ie9以下(不包括ie9)采用ie条件注释,为ie8以及一下单独开一个样式文件 <!--[if lt IE 9]> <link href="lt9.css" rel="stylesheet" type="text/css"> <![endif]--> 2. 一个模块的mq样式整体放在这

webapp开发——————手机屏幕分辨率和浏览器分辨率不要混淆

关于webApp响应式设计遇到的问题,分享给大家,最近在做一个手机webApp,因为我手机是"米3",屏幕截图大小是1080宽,所以css样式用@media screen and(min-width:1080px){  ...... },来判断屏幕最小宽度是1080px的手机web显示什么样的样式,结果却不能正常显示我所指定的css样式,最后在网上查了一下,发现分辨率的范围不对. css代码如下: @media screen and (min-width:1080px){ ......

WeU专为微信移动 Web应用设计的 UI 库。

WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库. WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一.包含button.cell.dialog.toast.article.icon等各式元素. 使用 方法一: 使用bower进行安装 ? 1 bower install --save weui 方法二: 使用npm进行安装 ? 1 npm install --save weui 开发 ? 1 2 3 4 5 gi

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像. 从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面.同时实战开发中的案例代码可以作为你项目中的精简框架了. 当你学习完成<CSS3实战开发: 弹性盒模型之响应式WEB界面设计>这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识. Bootstrap(弹性流体布

JQuery WEB前段开发

JQuery WEB前段开发 Jquery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.jQuery使用户能更方便地处理HTML documents.events.实现动画效果,并且方便地为网站提供AJAX交互.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也

Web前端设计:Html强制不换行&lt;nobr&gt;标签用法代码示例

在网页排版布局中比如文章列表标题排版,无论多少文字均不希望换行显示,需要强制在一行显示完内容.这就可以nobr标签来实现.它起到的作用与word-break:keep-all 是一样的.nobr 是 No Break 的缩写,意思是禁止换行.通常在浏览器上显示的文档会在到达浏览器的横幅底端时自动换行,但是如果文字被包含在<nobr>-</nobr>标签里的话,则不会换行.由www.169it.com搜集整理 一.nobr语法 1 <nobr>内容</nobr>

[HTML5]手机屏幕分辨率和浏览器分辨率

在使用CSS3的中有如下类似代码 Html代码 @media screen and (max-width:480px){ -- } 意思是在最大宽度为480px的设备上应用{}里面的样式.这里的width,注意是手机浏览器的分辨率,而不是手机设备的屏幕分辨率.比如苹果4的手机屏幕分辨率是960x640.而其自带的Safari浏览器的分辨率是320*480.我们可以通过如下代码检测所用的浏览器的分辨率: Js代码 $("#info").html("(您的浏览器的分辨率为:&qu

[漏洞检测]Proxpy Web Scan设计与实现(未完待续)

Proxpy Web Scan设计与实现 1.简介:          Proxpy Web Scan是基于开源的python漏洞扫描框架wapiti改造的web漏洞扫描器,其主要解决以下几个问题而生: (1).当前互联网业务处于快速发展阶段,由于小版本更新迭代快,很难做到发布前必定经过安全测试.此外,安全小组面临安全人员不足和人工安全测试重复性工作过高的问题, (2).当前业界的漏洞扫描器更多的是基于简单的爬虫加扫描引擎的模式,可定制化幅度小,易用性和可扩展性都不是太好,如果要嵌入到发布流程则