【css】用css巧妙实现移动端横向滑动展示功能

前言:记得以前处理移动端横向滑动展示都是去用js去解决的,要用js进行蛮多处理,要算li的宽度,然后还要用js设置ul盒子的宽度,又要设置最大滑动距离,最小滑动距离等等.......但是现在发现用css就能很好的解决这功能。

 

一、直接上代码。






  
test



简简单单

简简单单

简简单单

简简单单

简简单单

简简单单

【css】用css巧妙实现移动端横向滑动展示功能_第1张图片

运行代码,发现就可以实现左右滑动了。

 

二、注释解析与注意事项。

注释①,注释③:改变li标签为行内块元素(inline-block),给.box添加一个white-space:nowrap; 不让他自动换行。再添加overflow-x:auto;让他超出部分滚动显示。

注释④ : 是为了解决行内块元素之间的默认间隙问题。(关于行内块间隙问题可以查看【css】行内元素、行内块元素的默认间隙问题)。

注释②: ::-webkit-scrollbar { width:0; height:0; display: none; } 是为了解决安卓浏览器的滚动条问题,在iphone浏览器上的常规浏览器上不会出现横向的滚动条,但是在安卓设备上的chrome,火狐浏览器等一些浏览器会出现滚动条,安卓设备上高版本的uc浏览器,qq自带浏览器,微信自带浏览器不会出现滚动条。(该方法无法解决火狐浏览器出现的滚动条,网上查找了蛮多资料,都建议js去解决这问题)。

注释⑤:是为解决安卓设备上的uc浏览器一个恶心的功能,就是安卓设备上的uc浏览器如果打开好几个窗口页面。向左向右滑的时候会跳转到其他页面,这时就需要取消默认事件。

 

三、(补充)通过scrollLeft,点击li标签进行位置滑动






  
test



1

2

3

4

5

6

7

8

运行代码,就可以看到,我们点击哪个div标签,该div标签就会滑到最前面的位置,当我们点击最后几个div标签,也不会说滑动位置过大,导致后面空白,如果我们用js解决的话,也还要去限制他的最大滑动距离,而通过css滚动,不需要担心这问题。

【css】用css巧妙实现移动端横向滑动展示功能_第2张图片

 

 

 

你可能感兴趣的:(css)