我有一些疯狂的问题iPhone 6 Safari(主要是iOS 9,虽然iOS 8也有一些小故障),标签模式打开.所有固定元素都以纵向和横向正确定位,但在横向模式下不可见和/或移动,并打开一个或多个标签.即使它们不可见,它们仍然可以点击并与其他内容重叠.旋转设备在一定程度上解决了问题,以及在标签之间切换.将元素位置从固定设置为静态和背面也有帮助.
HTML:
<html>
<head></head>
<body>
<div id="application">
<div class="outer-header">
<div class="inner-header">
<a id="link-test" href="#">Click me!</a>
</div>
</div>
</div>
</body>
</html>
CSS:
body {
background: linen;
}
.outer-header {
position: fixed;
width: 100%;
height: 30px;
top: 0;
left: 0;
background: steelblue;
}
.inner-header {
background: white;
}
应用程序非常大,但我已经成功地在codepen上重现了这个问题:
iPhone 6 Plus position:fixed bug
使用选项卡直接在横向打开它.
解决方法
如果向应用程序元素添加样式将起作用.像这样的东西:
document.querySelector('#link-test')
.addEventListener('click',function(e) {
e.preventDefault();
alert('You did it!');
});
body {
background: linen;
}
#application {
position: relative;
}
.outer-header {
position: fixed;
width: 100%;
height: 30px;
top: 0;
left: 0;
background: steelblue;
}
.inner-header {
background: white;
}
<html>
<head></head>
<body>
<div id="application">
<div class="outer-header">
<div class="inner-header">
<a id="link-test" href="#">Click me!</a>
</div>
</div>
</div>
</body>
</html>