想要一个宽度/高度为 100% 的 iPhone / iPad / iOS 网页

Posted

技术标签:

【中文标题】想要一个宽度/高度为 100% 的 iPhone / iPad / iOS 网页【英文标题】:Want an iPhone / iPad / iOS Webpage that is 100% width/height 【发布时间】:2011-11-04 01:35:10 【问题描述】:

在向下滚动到足以摆脱地址栏之后,我正在尝试获得一个仅为设备可能宽度/高度的 100% 的网站。希望这是有道理的?

我只需要简单的尺寸,这样我就可以将设备滚动到 0,0 并尽可能多地查看我的页面。例如只需 320x400(320 宽度,400 可能 = 高度 - 标题栏 - 页脚)

这样做的原因是我将单个 DIV 放在一个页面上,该页面是一个“视口”到四处移动的内容中,想想谷歌地图。我只想让这个 div 填满所有可用空间。

问题是我似乎无法检测到可用的窗口高度。我似乎总是得到屏幕大小 - 标题栏 - 地址栏 - 可选调试栏 - 页脚。如何检测“最大可能尺寸”?

【问题讨论】:

【参考方案1】:

html,bodyheight:100%;div 放在position:absolute;top:0;bottom:0;left:0;right:0; 中,然后您不需要视口的确切宽度/高度,div 已经使用了最大可能的空间。

但如果你仍然想检测,jQuery 得到了 $(element_you_want).width().height() 也可以解决问题。尝试使用文档或仅正文(高度为 100%)

【讨论】:

@Sparky672 感谢您的编辑,我从我的 iPhone 上的 *** 移动版发布,格式的痛苦,虽然我刚刚登录编辑但似乎你已经做到了 =) 是的,我在 ios 中找不到 (`) 键。 其实不会——它会是窗口的高度——地址栏的高度。【参考方案2】:

如果您使用的是 javascript,请尝试 alerting: 'innerWidth';

http://www.quirksmode.org/dom/w3c_cssom.html

【讨论】:

【参考方案3】:

我自己回答这个问题:

var $div = $( '<div></div>' ).appendTo( document.body );

$div.css(height:2000,width:2000);

setTimeout(function()
    window.scrollTo(0,1);
    alert( window.innerHeight + ', ' + window.innerWidth );
, 10);

基本思想是我强制窗口大于我知道它可以支持的大小,删除地址栏然后测量大小。我现在可以适当地调整这个 div 的大小。

【讨论】:

你可以使用scrollTo(0,0) 我认为不会丢失1px

以上是关于想要一个宽度/高度为 100% 的 iPhone / iPad / iOS 网页的主要内容,如果未能解决你的问题,请参考以下文章

如何将 iframe 高度和宽度设置为 100%

回形针:宽度为 100%,高度为宽度的 60%

如何css宽度设置为包含内容,高度设置为100%?

iframe在iphone6 plus的safari下子页面的宽度不受父页面控制的bug

获取浏览器视口的宽度和高度,无论内容大小如何且不调整为 100%?

图片侧宽度为 100% 的 div 并修复响应式网站的高度