Overview
This specific issue pertains to a potential freeze that occurs when scrolling through a <ul />
element that has been styled using CSS, specifically with the property
-webkit-overflow-scrolling: touch
on the Safari browser of iOS.
Related Problems
I have come across similar concerns or discussions on this topic:
Issue with freezing when using -webkit-overflow-scrolling
Scrolling bug in iOS 9 with `-webkit-overflow-scrolling: touch` and `overflow: scroll`
CSS bug with Webkit overflow scrolling touch on iPad
Visit this link for potential solutions
and so on.
I am still uncertain about which solutions would address my specific problem.
HTML and CSS Setup
I have provided the index.html
file along with index.css
, both of which were tested on the latest iPad model.
index.html
index.css
These files are quite simple, with index.html
containing a single <ul />
list with 50 items, enclosed within a
<div class="container">
.
Identifying the Issue
To recreate the issue, you can follow these steps:
Scroll down the list until reaching the bottom
Once the side bar disappears, attempt to scroll further downwards
Then, try moving your finger in the opposite direction to go back up
Notice that the initial upward movement of your finger may not respond
After a few moments, you should be able to scroll back to the top
To better illustrate this issue, I have uploaded a video on YouTube showcasing the problem on an iPad:
Check out the video demonstrating the issue
View the YouTube video here
Specifically, the problematic step 4 from the above procedure can be seen around the 8-second mark in the video.
Please note that the iPad used in the video:
- iPad 9.7inch (latest model)
- iOS 10.3.2
- Running Safari browser
Seeking Solutions
Could you kindly assist me in answering the following questions:
Why is step 4 of the procedure experiencing issues?
How can I adjust the HTML or CSS to improve smooth scrolling of the list?
Sample Code
You can access the sample code used in the YouTube video on GitHub.
Here is the link to the repository:
Please note that this sample program requires Node.js to run the server.
Thank you for your assistance.