เราสามารถเปลี่ยนพฤติกรรมการเลื่อนเกินขอบเขตหน้าเว็บด้วยคุณสมบัติ CSS overscroll-behavior ซึ่งสามารถปิดใช้งาน Pull-to-Refresh บนเบราว์เซอร์มือถือได้
ไวยากรณ์
Selector { overscroll-behavior: /*value*/ }
ตัวอย่างที่ 1: ใช้กับคอนเทนเนอร์เฉพาะ
<!DOCTYPE html> <html> <head> <style> div { margin: 2%; width: 500px; height: 200px; overflow-x: auto; overscroll-behavior-y: contain; background-color: plum; } p { font-size: 1.5em; } </style> </head> <body> <h2>overscroll-behavior example</h2> <div> <p>Pellentesque id velit non metus lacinia viverra ac congue enim. Morbi lacinia, erat nec cursus semper, arcu est scelerisque mi, eget hendrerit risus tellus ut lacus. Nunc dapibus risus quis magna posuere, ac malesuada odio ornare. Aliquam commodo dolor ipsum, at finibus libero laoreet non. Etiam mollis placerat aliquam. Maecenas gravida congue dui non hendrerit. Suspendisse varius eros id purus facilisis, sit amet sollicitudin sapien dictum.</p> </div> <p> Vestibulum ultricies diam sit amet laoreet sollicitudin. Nulla facilisis porttitor eros non sagittis. Donec rutrum a erat vitae interdum. Integer eleifend lectus sit amet purus semper, ut pharetra metus gravida. Proin ut diam eros. Donec hendrerit euismod dui ac facilisis. Duis sodales urna dui, vitae imperdiet augue dictum tristique. Vivamus a risus enim. Donec fermentum iaculis rutrum. Nullam quis quam purus. Suspendisse potenti. Phasellus scelerisque scelerisque metus eu tristique. Nulla vitae augue non felis finibus aliquet. In ipsum elit, egestas ut arcu nec, commodo vehicula sapien. Suspendisse potenti. </p> </body> </html>
ตัวอย่างที่ 2: ใช้กับ body ทั้งหน้า (ปิด Pull-to-Refresh ทั้งหน้า)
<!DOCTYPE html> <html> <head> <style> body { overscroll-behavior: contain; text-align: center; } div { margin: 2%; width: 450px; height: 180px; overflow-x: auto; background-color: khaki; } p { font-size: 1.3em; } </style> </head> <body> <h2>setting overscroll behavior to body</h2> <div> <p>Pellentesque id velit non metus lacinia viverra ac congue enim. Morbi lacinia, erat nec cursus semper, arcu est scelerisque mi, eget hendrerit risus tellus ut lacus. Nunc dapibus risus quis magna posuere, ac malesuada odio ornare. Aliquam commodo dolor ipsum, at finibus libero laoreet non. Etiam mollis placerat aliquam. Maecenas gravida congue dui non hendrerit. Suspendisse varius eros id purus facilisis, sit amet sollicitudin sapien dictum.</p> </div> <p> Vestibulum ultricies diam sit amet laoreet sollicitudin. Nulla facilisis porttitor eros non sagittis. Donec rutrum a erat vitae interdum. Integer eleifend lectus sit amet purus semper, ut pharetra metus gravida. Proin ut diam eros. Donec hendrerit euismod dui ac facilisis. Duis sodales urna dui, vitae imperdiet augue dictum tristique. Vivamus a risus enim. Donec fermentum iaculis rutrum. Nullam quis quam purus. Suspendisse potenti. Phasellus scelerisque scelerisque metus eu tristique. Nulla vitae augue non felis finibus aliquet. In ipsum elit, egestas ut arcu nec, commodo vehicula sapien. Suspendisse potenti. </p> </body> </html>
ค่า contain จะจำกัดพฤติกรรม overscroll ให้อยู่ภายในองค์ประกอบนั้นๆ ไม่ให้กระทบต่อหน้าจอทั้งหมด ซึ่งบนมือถือจะป้องกันการรีเฟรชหน้าจอเมื่อดึงลงมาจนถึงขอบ