手机水平(风景)时,如何解决页面无法在SFSafariViewController上完整显示的问题

时间:2019-05-07 09:18:05

标签: html reactjs sfsafariviewcontroller

我正在尝试使页面的可用高度为100%,它可以在任何其他浏览器或视图控制器上使用,但是在SFSafariViewController上,当手机水平放置时,页面下方会显示白色区域。

我尝试在初始加载为“ window.innerHeight”后手动设置页面高度-无效,“ innerHeight”似乎返回了错误的高度。我也尝试过类似“ 100vh”,“ px”的值。使用“ 100vh”将呈现与“ 100%”相同的效果。如果我使用“ px”值使页面变高并超过屏幕尺寸,则页面将变为可滚动页面,这不是我想要的。我一直在寻找没有运气的解决方案。

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

body {
  overflow: hidden;
  margin: 0;
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  width: 100%;
  height: 100%;
  background-size: cover;
}
<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover">
  <meta name="mobile-web-app-capable" content="yes">
  <link rel="stylesheet" href="static/normalize.css" />
  <link href="https://fonts.googleapis.com/css?family=Roboto:400,500" rel="stylesheet">
</head>

<body style="width: 100%; height: 100%;">
  <div id="root" style='width: 100%; height: 100%; background-size: cover; background-image: url("https://images.wallpaperscraft.com/image/house_apartment_studio_television_80212_1920x1080.jpg");'>
  </div>
</body>

</html>

预期结果类似于第二张图片,在第一张图片中,页面内容下方显示白色。 链接:https://imgur.com/a/jwakA1a

0 个答案:

没有答案