【发布时间】:2013-09-20 20:08:55
【问题描述】:
我正在尝试实现一个响应式水平滚动的图像列表。
例如:
<ul>
<li>
<img src="image1.jpg"/>
</li>
<li>
<img src="image2.jpg"/>
</li>
<li>
<img src="image3.jpg"/>
</li>
</ul>
图片的宽高比未知。
我的要求:
- 我希望图像始终为浏览器窗口的 100% 高度。
- 我希望它们彼此相邻(不使用
float;所以inline可能是最好的)。 - 我不想在调整窗口大小时破坏图像的宽高比。
- 没有 JavaScript。
到目前为止,我已经尝试过使用这个 CSS,但是当调整浏览器窗口的大小时,我似乎无法让图像不被挤压:
ul{
width:100%;
overflow-y:scroll;
white-space: nowrap;
line-height: 0;
font-size: 0;
}
ul li{
display:inline;
height:100%;
}
ul li img{
max-height:100%;
width:auto;
}
有接受者吗?
编辑:
我将一个简单的fiddle 放在一起,作为我使用它的示例。
任何帮助都会很棒...
【问题讨论】:
-
你为什么不用
float? -
如果你想强制宽度为100%,那么设置
width: 100% -
@Mooseman 因为我必须在 JavaScript 中计算父宽度才能使图像不换行,除非你建议我对一些
overflow:hidden和一些包装元素感到时髦?如果你认为你可以用浮动(没有绝对宽度)来反映效果,那么一定要把它放在一个答案中。 -
@koala_dev 这远不是我想要的。我的图片大小应该响应窗口的
height。 -
您的要求是:“我希望图像始终是浏览器窗口的 100%。”你应该澄清这是高度,而不是宽度