css隐藏移动端滚动条并且ios上平滑滚动

47次阅读

共计 2467 个字符,预计需要花费 7 分钟才能阅读完成。

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;
}
ps:1.type 的外层容器设置了固定高度,并且设置了内容溢出隐藏,所有 type 的纵向的超出内容是不可见的,即:overflow:hidden;2.padding-bottom 等于 20px 并非固定值,只要你的设置的值大小足够将滚动条挤出可视区域即可。
完整代码如下:
<!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;
/* 解决 ios 上滑动不流畅 */
-webkit-overflow-scrolling: touch;
padding-bottom: 20px;
}
.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>

正文完
 0