css隐藏移动端滚动条并平滑滚动

2024-01-17 11:54 小编

HTML代码如下

<!DOCTYPEhtml>

<html>

<head>

<metacharset="UTF-8">

<metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

<metahttp-equiv="X-UA-Compatible"content="ie=edge">

<title>移动端隐藏滚动条解决方案</title>

<styletype="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>

<nav>

<ul>

<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并非固定值,只要你的设置的值大小足够将滚动条挤出可视区域即可。

完整代码如下:

<!DOCTYPEhtml>

<html>

<head>

<metacharset="UTF-8">

<metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

<metahttp-equiv="X-UA-Compatible"content="ie=edge">

<title>移动端隐藏滚动条解决方案</title>

<styletype="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>

<nav>

<ul>

<li>推荐</li>

<li>娃娃</li>

<li>日用品</li>

<li>美妆护肤</li>

<li>娃娃</li>

<li>日用品</li>

<li>美妆护肤</li>

<li>娃娃</li>

</ul>

</nav>

</div>

</body>

</html>


Tag: 移动端
在线咨询 拨打电话

电话

13363039260

微信二维码

微信二维码