我正在为我正在实施的网站开发一个自包含的响应式 css 组件(轮播类型)。
需要有无限数量的内容项(从服务器加载),一次只显示两个。当用户在项目列表中前进时,他们似乎向左滚动,新项目从右侧过渡,将当前项目推向左侧。
项目应根据当前的响应式布局获得它们的宽度。
一般的想法是让视口成为页面布局的一部分,并且可以接受在px
或 中规定的任何宽度%
,一个容器可以width: 100%
填充视口的大小。和没有包装的水平并排排列的项目,项目的宽度为 50%,因此恰好有两个项目适合容器/视口,其余项目溢出(并被隐藏。)
<div class="viewport">
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<!-- more items get loaded as the user advances through the content -->
</div>
</div>
“滚动”是通过在第一个项目上设置负边距来实现的 - 这种技术我总是可以设置一个负边距,即:<项目数> * 50%
我主要在以下 jsfiddle 中工作:http: //jsfiddle.net/gZBEV/5/ 项目排列正确,它们根据周围视口的宽度获得宽度。(使用按钮模拟移动/滚动项目)
问题是出现在每个项目之间的水平间隙(如箭头所示),从而破坏了布局。
解决方案是找到一种方法,使项目之间没有水平间隙,如下所示:
使用这个小提琴http://jsfiddle.net/gZBEV/5/作为起点。