我正在一個角度的Web應用程序,有一個主導航欄和幾個視圖,每個都有自己的子導航欄。iOS動量滾動滾動div與固定定位子元素
每個視圖都保存在一個可滾動的div內,並且在任何給定時間只有一個div可見。
這些視圖使用'will-change'CSS屬性進行硬件加速,並且使用-webkit-overflow-scrolling CSS屬性啓用動量滾動。
在每個這些DIV中都有一個固定位於主導航欄之後的子導航欄。
一切都按預期工作,除了一個令人討厭的小故障,在iPad/iPhone的子導航不斷反彈,然後進入其位置。
Here's a pen說明問題。請注意這些故障對黃子菜單,滾動時的iPad/iPhone ...
HTML:
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>
<body>
<div class="main_header">
MAIN MENU
</div>
<div class="views-container">
<div class="view">
<div class="view-header test">
SUB MENU
</div>
<div>
CONTENT
</div>
</div>
</div>
</body>
</html>
CSS:
html, body {
overflow-x: hidden;
overflow-y: hidden;
height: 100%;
}
.main_header {
background-color:green;
position: fixed;
top:0px;
left: 0px;
width: 100%;
opacity: 0.9;
}
.views-container {
position: fixed;
top: 18px;
bottom: 0px;
left: 0px;
right: 0px;
}
.view {
position: absolute;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
will-change: opacity;
}
.view-header {
background-color:yellow;
position: fixed;
width: 100%;
opacity: 0.9;
z-index: 1000;
}
我已經沖刷網頁中搜索一解決方案,但迄今爲止沒有提出任何建議 想法?
第一個解決方案是無關緊要的,因爲view-header是動態的,必須包含在視圖中。第二種解決方案的外觀和功能非常好,不幸的是我在這裏提供了我的案例的簡化版本,所以併入這樣的改變並不是那麼容易,但我會試一試,因爲它似乎是唯一可行的解決方案。謝謝! –