css隱藏移動端滾動條并且ios上平滑滾動的方法
HTML代碼如下
| <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>移動端隱藏滾動條解決方案</title> <style type="text/css"> * { padding: 0; margin: 0; } .par-type { height: 50px; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; } .type { height: 100%; overflow-x: scroll; overflow-y: hidden; background-color: #999; } .con { width: 640px; height: 100%; display: flex; align-items: center; } .con>li { text-align: center; font-size: 16px; width: 80px; color: #fff; list-style: none; } .par-type ::-webkit-scrollbar { display: none; } </style></head><body> <div class="par-type"> <nav class="type"> <ul class="con"> <li>推薦</li> <li>娃娃</li> <li>日用品</li> <li>美妝護膚</li> <li>娃娃</li> <li>日用品</li> <li>美妝護膚</li> <li>娃娃</li> </ul> </nav> </div></body></html> | 
設置滾動條隱藏
| .par-type ::-webkit-scrollbar {display: none;} | 
此時內容可以正常滾動,滾動條也已隱藏,但是ios手機上出現滾動不流暢,影響用戶的體驗,安卓手機上是正常的。此時,加上css代碼:-webkit-overflow-scrolling: touch;即可解決,如下:
| .type { height: 100%; overflow-x: scroll; overflow-y: hidden; background-color: #999; /*解決ios上滑動不流暢*/ -webkit-overflow-scrolling: touch; } | 
但是此時又會出現新的問題,滾動條又出現了!!!
為了用戶的體驗,最好是能流暢滾動并且滾動條是隱藏的,接下來開始放大招了。。。
滾動條是出現在type標簽上的,所以對type進行如下設置:
| .type { /*width: 100%;*/ height: 100%; overflow-x: scroll; overflow-y: hidden; background-color: #999; /*解決ios上滑動不流暢*/ -webkit-overflow-scrolling: touch; /*縱向超出部分將會隱藏,即滾動條部分被擠出可視區域*/ padding-bottom: 20px; } |