我正在尝试使页面的可用高度为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