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

前端开发 作者: 2024-08-25 17:45:01
Tips: 调试 iPad 或 iPhone 可在设置中启动调试模式,在 Mac 中的 Safari 浏览器 同样开启开发者模式后,进行联机调试。功能彪悍。最近在做一个页面时,发现在 iPad 的 Safari 浏览器中背景显示不全,定位到该 div 后发现所指定 css 的宽度为 100% ;到百
Tips: 调试 iPad 或 iPhone 可在设置中启动调试模式,在 Mac 中的 Safari 阅读器 一样开启开发者模式后,进行联机调试。功能彪悍。 最近在做1个页面时,发现在 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 设置1个合适的倍数值。 例如1个页面的宽度为 1080px,则设定为: <metaname="viewport"content="width=1080,initial-scale=0.9"/> 这样不管加载前后切换横屏还是竖屏,都可以友好显示。【可参考:股票配资 手机端与pc真个阅读对照
可是比如头部部份设置为width:100%,而网页中部最大宽度为默许:1200px,头部和中部长度不1致。这个问题在pc端和手机的默许像素不1致造成。该如和解决?
找了很多资料,终究找出来了:
[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" />    

第1行: width=device-width :表示宽度是装备屏幕的宽度
initial-scale=1.0:表示初始的缩放比例
minimum-scale=0.5:表示最小的缩放比例
maximum-scale=2.0:表示最大的缩放比例
user-scalable=yes:表示用户是不是可以调剂缩放比例
第2行:
设定iphone端页面全屏。
第3行:
取消数字被辨认为电话号码。

如果是想要1打开网页,则自动以原始比例显示,并且不允许用户修改的话,则是:
[html] view plaincopy
    meta name="viewport" content="width=device-width(这里是可以变化的,根据你的其他div的宽度来设置), minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />    

这模样写后,就能够把1些页头横幅等的图片的宽度都设置成style="width:100%",全部页面在装备上看起来就是全屏的了。【要把width=device-width 中的device-width换成你中部设置的像素值,比如我的设置为1200px】 这样问题就解决了。
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68519.html