iPhone 5 的主屏幕网页应用程序的适合高度

Posted

技术标签:

【中文标题】iPhone 5 的主屏幕网页应用程序的适合高度【英文标题】:Fitting height of homescreen-webapp for iPhone 5 【发布时间】:2012-11-27 08:18:42 【问题描述】:

我在调整 web 应用程序(主屏幕)的高度时遇到问题。 我使用以下元标记:

<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

我的问题是,屏幕顶部和底部都有黑条。首先我认为这是 iPhone 5 的错误,因为屏幕更高。但是今天我看到了一个 webapp (apps.ft.com/ ),它非常适合 iphone5 的屏幕。

任何想法,我做错了什么?

这里是我完整的相关元标记

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" href="img/icons/ios_icon_52.png">
<link rel="apple-touch-icon" href="img/icons/ios_icon_52.png">
<link rel="apple-touch-icon" sizes="72x72" href="img/icons/ios_icon_72.png">
<link rel="apple-touch-icon" sizes="114x114" href="img/icons/ios_icon_114.png">

编辑:经过一个小时的搜索,我找到了如何强制浏览器适应全高度的解决方案。 当我定义启动图像(apple-touch-startup-image)时,我的 iphone 只适合高度。 这是我的代码:

<!-- iPhone 4 (Retina) -->
<link href="img/icons/apple-touch-startup-image-640x920.png" 
      media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" 
      rel="apple-touch-startup-image">
<!-- iPhone 5 -->
<link href="img/icons/apple-touch-startup-image-640x1096.png" 
      media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" 
      rel="apple-touch-startup-image">

【问题讨论】:

第一个开机图片链接是指iPhone 4 (Retina)吗? 此编辑代码是否解决了问题? 是的。它解决了问题... 【参考方案1】:

我也为此苦苦挣扎了好几个小时,直到我终于发现是我的视口元标记中的“宽度”定义导致了这个问题!删除宽度为我解决了这个问题。

【讨论】:

【参考方案2】:

使用这个

<meta name="viewport" content="user-scalable=0, initial-scale=1.0" />

对于启动图像和触摸图标,请阅读此内容 Mulitple "apple-touch-startup-image" resolutions for iOS web app (esp. for iPad)?

;)

【讨论】:

虽然答案有 3 票赞成,但给出的解决方案并不正确。该问题明确讨论了主屏幕网络应用程序,其中initial-scale=1.0 无助于删除黑条。 此解决方案无法解决问题 但是 - 对我来说,它需要完整的 iphone 5 高度和宽度 - 而不是较小的 iphone 3/4 屏幕尺寸(去除黑条,顶部和底部) - 不使用启动图像。 【参考方案3】:

我也遇到了这个问题,我通过删除 width=device-width 解决了这个问题

【讨论】:

【参考方案4】:

完全移除视口宽度导致的问题多于解决的问题。为了让 webapps 有正确的视口高度,视口宽度需要大于 320(不幸的是,这是device-width 报告给浏览器的值)。这就是我更新视口元标记的方式:

<meta name="viewport" content="width=320.1, user-scalable=0, initial-scale=1.0" />

【讨论】:

【参考方案5】:

以下是其他人针对同一主题发布的一些很好的答案:

roviuser Vector

【讨论】:

以上是关于iPhone 5 的主屏幕网页应用程序的适合高度的主要内容,如果未能解决你的问题,请参考以下文章

Android Webview - 网页应适合设备屏幕

UITableView 高度不适合不同 iPhone 设备的容器垂直(底部)

DIV CSS 如何让网页中的某DIV自动适应屏幕高度自己变如下图

如何让 Bootstrap 5 容器适合屏幕高度?

iOS Autolayout:处理不同的屏幕高度

从后台返回后转到 iphone 应用程序的主屏幕