我有一个<span>
元素的列表,它可以在<div>
元素内左右移动,如果某些跨度超出div,它们应该被隐藏。这工作正常使用overflow: hidden
。但是,如果跨度比跨度更大,跨度将会自动换行,这对于我的用例来说是不受欢迎的行为。我如何使跨度不包裹?请勿缠绕跨度元素
我制作了一个jsFiddle来展示我的意思。当您点击.board
时,您将添加另一个.card
。通过第四张牌,你会看到包装。
备注:跨度的使用并不重要,因此如果可以使用跨度,列表项目,这可能会好起来的。重要的是元素可以包含一个图像和下面的一些文本。
这里是从的jsfiddle代码:
<div class="board">
<div class="cards"></div>
</div>
$('.board').mousemove(function(e) {
$('.cards').css({left: e.pageX});
});
$('.board').click(function(e) {
$('.cards').append("<span class='card'></span>")
});
.card {
border: 1px solid black;
width: 100px;
height: 100px;
float: left;
margin-left: 4px;
margin-right: 4px;
}
.cards {
position: relative;
top: 10px;
}
.board {
width: 400px;
height: 120px;
border: 1px solid red;
position: relative;
overflow: hidden;
}
请注意,制作“inline-block”卡可能会影响每张卡之间的空间大小。一些浏览器,比如Firefox,会在字面上写在HTML中的每张卡片之间添加额外的空格字符,因为标签之间有空格。 –
谢谢,我会用这个解决方案。 – Jonas
@ RoryO'Kane的确如此。从他的代码看,跨度之间没有空白,所以它应该没问题。不过,这是需要注意的。 – MaX