在需要捲動的元素下加入-webkit-overflow-scrolling: touch;
舉個栗子(直接貼上可用):
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>隐藏横向滚动条</title> <style> * { margin: 0; padding: 0; } .cover { width: 100%; overflow: hidden; } .father { width: 100%; padding: 0 10px; background-color: #ff630c; overflow-x: auto; margin-top: -30px; padding-bottom: 30px; -webkit-transform: translateY(30px); transform: translateY(30px); box-sizing: border-box; } .son { width: 500%; padding-bottom: 10px; } .show { width: 19%; height: 60px; background-color: #f00; float: left; margin-right: 5px; text-align: center; } .second { width: 100%; height: 50px; background-color: #eee; z-index: 100000; } </style> <style> .father2 { overflow-x: scroll; width: 100%; position: relative; top: 10px; margin-top: -10px; -webkit-overflow-scrolling: touch; } .son2 { width: 500%; padding-bottom: 10px; } .show2 { display: inline-block; vertical-align: middle; letter-spacing: -99999px; text-align: center; width: 19%; margin-right: 10px; height: 50px; background-color: #f00; } </style></head><body> <p class="cover"> <p class="father"> <p class="son"> <p class="show">1</p> <p class="show">2</p> <p class="show">3</p> <p class="show">4</p> <p class="show">5</p> </p> </p> </p> <p class="cover"> <p class="father2"> <p class="son2"> <p class="show2">1</p> <p class="show2">2</p> <p class="show2">3</p> <p class="show2">4</p> <p class="show2">5</p> </p> </p> </p> <p class="second"></p></body></html>
橫向捲動慢,是因為Safari原生支援-webkit-屬性,但是預設使用的是瀏覽器中的渲染行為,所以滑動的時候回卡頓。但是使用這個overflow-scrolling屬性以後,會創建一個原生的滾動選項卡,native-scrolling控件,因為滑動的程度會很流暢~~~~至於什麼原因,可能就需要熟悉IOS的同學探究一下原生控件咯.
相容性: IOS5.0 或 later.
以上是如何解決Safari滾動慢,橫向選項卡滾動緩慢的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!