多个div或图片横排左右滑动展示及侧拉回弹效果


方法一,使用iscroll.js 插件:

<script type="text/javascript" src="../script/iscroll-probe.min.js"></script>

HTML部分:

<div id="wrapper" class="wrapper">
	<div id="iscroll" class="iscroll">
		<div class="con">
			<ul id="other-hot-box">                               
                            <li>
                                <div>
                                    <img/>
                                    <p></p>
                                </div>
                            </li>
                            <li>
                                <img/>
                            </li>
                            <li>
                                你好,世界!
                            </li>
                      </ul>
              </div>
       </div>
</div>

在以上代码中,iscroll 为整个滑动容器。容器必须设置宽高,否则会被hidden隐藏。
每个 li 都是一个次级容器,其中可以放文字、图片、或者包含多种元素内容的div。

CSS:

#iscroll {
	width: 100%;
  	height: 14rem;
	overflow: hidden;
	position: relative;
}
.con {
	white-space: nowrap;
	position: absolute;
}
.con ul li {
    width: 10.2rem;
    display: inline-block;
    margin-right: 6px;
    vertical-align: top;
}

js:

function loaded() {
        myScroll = new IScroll('#iscroll', {
            scrollX: true,
            click: true
        });
    }

将 id 填入以上代码后调用该函数即可。

iScroll插件的更多用法:概要及各种效果的实现

方法二,纯css (此方法在ios和安卓上都可用,但在安卓上拉倒最侧边没有多拉回弹效果):
HTML:

        <div class="classify border-b" id="classify">
	        <div class="scrollbar">
	            <ul>
	                <li>全部</li>
	                <li>asdddd</li>
	                <li>demo-list</li>
	                <li>啊啊啊</li>
	                <li>demo-list</li>
	                <li>demo-list</li>
	                <li>demo-list</li>	
	                <li>demo-list</li>
	                <li>demo-list</li>
	                <li>demo-list</li>
	                <li>demo-list</li>
	            </ul>
	        </div>
	</div>

CSS:
以下部分属性值在注释后依然可以在安卓上正常使用,在ios上尚未尝试。

	.classify {
            /*position: relative;*/
            /*width: 100%;*/
            height: 4.2rem;
            overflow: hidden;
        }
        .classify .scrollbar{
            /*width: 100%;*/
            height: calc(100% + 18px);
            /*overflow-y: hidden;*/
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .classify .scrollbar ul {
            white-space: nowrap;
            /*font-size: 0;*/
            /*height: 4.2rem;*/
            padding: 0 5px;
        }
        .classify .scrollbar ul li {
            display: inline-block;
		    height: 2.8rem;
		    line-height: 2.8rem;
		    border-radius: 2px;
		    background: #f5f5f5;
		    font-size: 1.3rem;
		    margin: 0.6rem 5px 0;
		    padding: 0 10px;
		    color: #999; 
        }

若是 ul 外部有三层 div,
最外层 div 设置 overflow: hidden;
第二层 div 设置 overflow-x: auto; position: relative; height: 4.2rem;
最里层 div 设置 white-space: nowrap; position: absolute; 
ul 设置 line-height: 4.2rem;  height: 4.2rem; display: -webkit-flex;
li 设置 display: inline-block; margin: 0 19px; font-size: 1.4rem; text-align: center; line-height: 4.2rem;

 

 

 

 

    

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值