我希望创建一个浏览器,由任意数量的水平对齐的div组成,在任何给定时间只有3个可见。
<div id="viewport">
<div id="slides">
<div>Content 1</div> <!-- not visible -->
<div>Content 2</div> <!-- visible -->
<div>Content 3</div> <!-- visible -->
<div>Content 4</div> <!-- visible -->
<div>Content 5</div> <!-- not visible -->
<div>...</div> <!-- not visible -->
</div>
</div>
我的做法是创建一个父div("viewport"),它具有固定的宽度/高度和overflow: hidden属性,然后将其子div("slides")向左或向右滑动,该子div中包含实际内容的子div。
为了使此方法起作用,我需要"slides"的子div都水平对齐,并且没有任何一个子div会换行,但默认情况下会出现这种情况。当我知道并指定CSS中"slides" div的所有子元素的累积宽度时,我可以成功做到这一点,但是我将在JS中动态添加/删除它们。我想避免不断通过JS更改"slides" div的宽度,而是想找出如何在CSS中完成它。
总之,如果总宽度未知,如何防止一系列div换行呢?