我想要一个带有html列表的滚动窗格,它只能水平滚动。当我使用下面的代码时,我的列表项在完整行之后相互清除,滚动窗格仅垂直滚动。
<div class="scrolling-list">
<ul>
<li> List item 1</li>
<li> List item 2</li>
<li> List item 3</li>
<li> List item 4</li>
<li> List item 5</li>
</ul>
</div>
JS
<script type="text/javascript">
$(function()
{
$('.scrolling-list').jScrollPane();
});
</script>
CSS
.scrolling-list{
height:auto;
max-height:200px;
width: 640px;
}
li{
float:left;
width:200px;}
答案 0 :(得分:3)
您需要使用内联块显示并将whitespace:nowrap
添加到CSS中,而不是使用浮点数。请注意,这可能与某些IE浏览器不兼容。
.scrolling-list {
height:auto;
max-height:200px;
width:640px;
white-space:nowrap;
}
.scrolling-list li {
display:inline-block;
width:200px;
}
答案 1 :(得分:1)
如果内联块方法对您不起作用,那么您可以使用javascript将UL的宽度设置为其所有子节点的总宽度,例如类似的东西:
<script type="text/javascript">
$(function()
{
var list = $('.scrolling-list');
list.find('ul').each(
function()
{
var w = 0;
$(this).find('li').each(
function()
{
w += $(this).outerWidth();
}
).css('width', w + 'px');
}
)
list.jScrollPane();
});
</script>