离子 iPhone X 安全区域无法正常工作

Dim*_*tri 6 css ionic-framework ionic3 safearealayoutguide iphone-x

我正在尝试在顶部工具栏和底部选项卡区域之间放置一个。我需要它在 iPhone 5-X 和 iOS 10-11 上运行。如果你忽略iOS10,那么不存在问题,但我还需要旧版本才能工作。这是我的 CSS。“margin-top”给出了 iOS 10 的错误。如果我使用“padding-top”那么它在 iPhone X 上不起作用。这是 LoadingController 封面,所以我不想以编程方式从 JS 到HTML(老实说,不知道如何访问用于加载控制器的 HTML)。我已经为谷歌地图以编程方式解决了这个问题,但想知道是否有通过 CSS 的解决方案?我已经获得了所有东西和 WKWebView 的所有最新版本。我的离子观点如下。

.loading-ios {
  margin-top: constant(safe-area-inset-top);
  margin-top: env(safe-area-inset-top);
  margin-bottom: constant(safe-area-inset-bottom);
  margin-bottom: env(safe-area-inset-bottom);

  background-color: white;
  opacity: 1 !important;
  position: absolute;
  top: 64px;
  bottom: 49px;
}
Run Code Online (Sandbox Code Playgroud)

cli包:

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0
Run Code Online (Sandbox Code Playgroud)

全局包:

cordova (Cordova CLI) : 7.1.0 
Run Code Online (Sandbox Code Playgroud)

本地包:

@ionic/app-scripts : 1.3.12
Cordova Platforms  : ios 4.5.4
Ionic Framework    : ionic-angular 3.9.2
Run Code Online (Sandbox Code Playgroud)

系统:

ios-deploy : 1.9.2 
ios-sim    : 5.0.12 
Node       : v8.9.3
npm        : 5.5.1 
OS         : macOS High Sierra
Xcode      : Xcode 9.2 Build version 9C40b
Run Code Online (Sandbox Code Playgroud)

Dim*_*tri 8

  margin-top: 20px; /* Status bar height on iOS 10 */
  margin-top: constant(safe-area-inset-top); /* Status bar height on iOS 11.0 */
  margin-top: env(safe-area-inset-top); /* Status bar height on iOS 11+ */
Run Code Online (Sandbox Code Playgroud)

并分别减少 20px 顶部/底部移动。