Tôi có một danh sách các thành phần <span>
có thể được di chuyển sang trái và phải bên trong một phần tử <div>
và nếu một số khoảng trống nằm ngoài div thì chúng sẽ bị ẩn. Điều này hoạt động tốt bằng cách sử dụng overflow: hidden
. Tuy nhiên, nếu có nhiều nhịp hơn phù hợp trong div, các nhịp quấn, đó là hành vi không mong muốn cho trường hợp sử dụng của tôi. Làm thế nào để làm cho các nhịp không quấn?Không quấn các phần tử nhịp
Tôi đã thực hiện một jsFiddle để hiển thị ý của tôi. Khi bạn nhấp vào bên trong .board
, bạn sẽ thêm một số khác .card
. Đến thẻ thứ tư bạn sẽ thấy gói.
Lưu ý: Thực tế là các nhịp được sử dụng không thực sự quan trọng, vì vậy nếu nó có thể được thực hiện để làm việc với ví dụ: các mục danh sách, có thể sẽ ổn. Điều quan trọng là các phần tử có thể chứa một hình ảnh và một số văn bản bên dưới.
Dưới đây là mã từ 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;
}
Hãy coi chừng việc tạo thẻ 'inline-block' có thể ảnh hưởng đến kích thước của khoảng trống giữa mỗi thẻ. Một số trình duyệt, như Firefox, sẽ thêm một ký tự khoảng trắng giữa mỗi thẻ được viết theo nghĩa đen trong HTML, vì khoảng trống giữa các thẻ. –
cảm ơn, tôi sẽ đi với giải pháp này. – Jonas
@ RoryO'Kane Đúng vậy. Từ khi nhìn vào mã của anh ta, không có khoảng trống giữa các nhịp, vì vậy nó sẽ ổn thôi. Đó là một cái gì đó để nhận thức được, mặc dù. – MaX