I have a section of my web application that has vertical scrolling. It does scroll on iOS, but there is a small part on the bottom where the scrolling pops up when I try to scroll down. When I drag, I see the content at the bottom, but when I release, it pops up so that the bottom part of the scroll-area becomes unavaliable. The scrollable area is positioned absolute inside a flex grid container.
<html>
<head>
<title>Test</title>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0, shrink-to-fit=no">
</head>
<body style="overflow:hidden;margin:0;">
<div style="display:flex;height: 100vh;background-color:yellow;">
<div style="background-color:silver;">Left
</div>
<div style="flex-grow: 1;background-color:lime;position:relative;">
<div style="position:absolute;top:0;left:0;bottom:0;right:0;overflow-y:auto; -webkit-overflow-scrolling: touch;">
<div>Line 0</div>
<div>Line 1</div>
<div>Line 2</div>
<div>Line 3</div>
<div>Line 4</div>
<div>Line 5</div>
<div>Line 6</div>
<div>Line 7</div>
<div>Line 8</div>
<div>Line 9</div>
<div>Line 10</div>
<div>Line 11</div>
<div>Line 12</div>
<div>Line 13</div>
<div>Line 14</div>
<div>Line 15</div>
<div>Line 16</div>
<div>Line 17</div>
<div>Line 18</div>
<div>Line 19</div>
<div>Line 20</div>
<div>Line 21</div>
<div>Line 22</div>
<div>Line 23</div>
<div>Line 24</div>
<div>Line 25</div>
<div>Line 26</div>
<div>Line 27</div>
<div>Line 28</div>
<div>Line 29</div>
<div>Line 30</div>
<div>Line 31</div>
<div>Line 32</div>
<div>Line 33</div>
<div>Line 34</div>
<div>Line 35</div>
<div>Line 36</div>
<div>Line 37</div>
<div>Line 38</div>
<div>Line 39</div>
</div>
</div>
</body>
</html>
When scrolling to bottom here on an iOS device, the bottom 4 lines are not visible. They appear if you drag to scroll further, but the scroll position pops back to hide the 4 lines at the bottom.
What is this? How can I solve it without adding extra empty space at the bottom?