我试图在水平滚动div
中显示图像列表(等高)。这很有效,但是当我想要有一个固定的图像时 - 一个“封面”图像出现在容器内部最左侧,布局会被搞砸。如何在固定项目旁边显示水平滚动列表?
下面是我的工作的CSS和HTML。 如果您运行该代码段,您可以看到列表跳转到下一行,而不是保持与“封面”图像相邻并且水平滚动。这里是的jsfiddle - http://jsfiddle.net/6x66dLdy/
我可以使用JavaScript通过设置#list
宽度编程方式解决这个问题,但我想单独如果可能的话CSS来做到这一点。
#container {
height: 120px;
background: #ccccff;
}
#cover {
height: 100px;
margin: 10px;
display: inline-block;
vertical-align: top;
position: relative;
}
#cover img {
border: 2px solid #cc0000;
}
#list {
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
height: 100px;
margin: 10px 0;
display: inline-block;
}
.item {
height: 80px;
margin: 10px 5px;
display: inline-block;
}
<div id="container">
<div id="cover">
<img src="http://placehold.it/160x100"/>
</div>
<div id="list">
<div class="item">
<img src="http://placehold.it/120x80"/>
</div>
<div class="item">
<img src="http://placehold.it/60x80"/>
</div>
<div class="item">
<img src="http://placehold.it/120x80"/>
</div>
<div class="item">
<img src="http://placehold.it/120x80"/>
</div>
<div class="item">
<img src="http://placehold.it/120x80"/>
</div>
</div>
</div>
为什么在css中没有#list {width:100px;}? – ashkufaraz 2014-11-21 12:16:17
你必须为你的'div'和容器提供宽度。像这样:http://jsfiddle.net/abhitalks/6x66dLdy/1/ – Abhitalks 2014-11-21 12:18:09
@abhitalks:谢谢!请加上'calc'作为你的答案。这是我大致期待的。 – 2014-11-21 12:33:16