3 回答
TA贡献2021条经验 获得超8个赞
您必须执行3个步骤
适用于iOs 11状态栏和iPhone X标头问题
1.视口盖
添加viewport-fit=cover到视口的meta中<header>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,viewport-fit=cover">
演示: https ://jsfiddle.net/gq5pt509(index.html)
向config.xml内部添加更多启动画面<platform name="ios">
不要跳过这一步,这需要让屏幕适合用于iPhone X工作
<splash src="your_path/Default@2x~ipad~anyany.png" /> <!-- 2732x2732 -->
<splash src="your_path/Default@2x~ipad~comany.png" /> <!-- 1278x2732 -->
<splash src="your_path/Default@2x~iphone~anyany.png" /> <!-- 1334x1334 -->
<splash src="your_path/Default@2x~iphone~comany.png" /> <!-- 750x1334 -->
<splash src="your_path/Default@2x~iphone~comcom.png" /> <!-- 1334x750 -->
<splash src="your_path/Default@3x~iphone~anyany.png" /> <!-- 2208x2208 -->
<splash src="your_path/Default@3x~iphone~anycom.png" /> <!-- 2208x1242 -->
<splash src="your_path/Default@3x~iphone~comany.png" /> <!-- 1242x2208 -->
演示: https : //jsfiddle.net/mmy885q4(config.xml)
在CSS上修复样式
使用safe-area-inset-left,safe-area-inset-right,safe-area-inset-top,或safe-area-inset-bottom
示例:(在您的情况下使用!)
#header {
position: fixed;
top: 1.25rem; // iOs 10 or lower
top: constant(safe-area-inset-top); // iOs 11
top: env(safe-area-inset-top); // iOs 11+ (feature)
// or use calc()
top: calc(constant(safe-area-inset-top) + 1rem);
top: env(constant(safe-area-inset-top) + 1rem);
// or SCSS calc()
$nav-height: 1.25rem;
top: calc(constant(safe-area-inset-top) + #{$nav-height});
top: calc(env(safe-area-inset-top) + #{$nav-height});
}
奖励:您可以像在设备上is-android或is-ios在设备上添加身体类别
var platformId = window.cordova.platformId;
if (platformId) {
document.body.classList.add('is-' + platformId);
}
因此,您可以在CSS上执行类似的操作
.is-ios #header {
// Properties
}
- 3 回答
- 0 关注
- 743 浏览
添加回答
举报