【问题标题】:How do I get the height of the mobile safari chrome?如何获得移动 safari chrome 的高度?
【发布时间】:2011-04-01 19:51:37
【问题描述】:

我正在尝试加载一个 div 并将其绝对定位在移动 safari 中 - 想像一下警报框之类的东西。

我尝试使用绝对定位的 div,顶部设置为 50%,边距为高度/宽度的一半:

#overlay-message {
  position: fixed;
  top: 50%;
  left: 50%;
  padding: 20px;
  margin: -67px 0 0 -110px;
  width: 220px;
  height: 125px;
} 

但正如我所意识到的,视口将不同于页面上的固定位置,并且当浏览器向下滚动时,元素会显示在偏移位置。我想我可以尝试使用基于 window.pageYOffset 值的 javascript 移动位置,但不幸的是,无论是否显示 chrome,它都显示为 0。

我最后的想法是使用window.outerHeight-window.innerHeight计算浏览器的chrome高度,然后根据这个值移动div,但不幸的是这不起作用。

我已经尝试过(使用 jquery):

$(window).load(function() {
    chrome_height = window.outerHeight - window.innerHeight;
    alert('chrome height is ' + chrome_height + ' outerheight: ' + window.outerHeight + ', innerheight: ' + window.innerHeight); 
});

但我发现 window.innerHeightwindow.outerHeight 都是相同的 - 306(我已经打开了 safari developer chrome) - 所以这似乎不起作用。

谁能指出我正确的方向?

谢谢!

-西蒙

【问题讨论】:

标签: iphone mobile-safari viewport


【解决方案1】:

这篇文章describes the vewport problem,尤其是当你使用window.ourerWidht/Height获得window.innerWidth/HeightRetina非Retina尺寸时的悲惨点

【讨论】:

    【解决方案2】:

    您不能在 iPhone 上截屏 Safari,然后将照片导入 Photoshop 或类似软件并进行测量吗?请记住,使用“电源按钮-主页按钮”键拍摄的照片是屏幕上实际尺寸的两倍,因此请将您的身高除以 2。

    【讨论】:

    • 我正在尝试动态获取屏幕高度,以便可以根据偏移量在屏幕上显示资产。不幸的是,你无法在 iPhone 上加载 Photoshop ;)
    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多