我有一個框在一行,我想它,所以當一個新的附加,它將其他人向右移動,適合在左邊,和如果這些框溢出你的屏幕,他們只是隱藏。我想能夠繼續追加,所以它需要我知道我可以擺弄絕對位置和jquery - 使用隱藏的輸入框計數,計算屏幕寬度和定義左或右位置,但說實話我寧願不是的:我確信有一種方法可以處理溢出,但我無法獲得任何工作。我願意加入的div/CSS等許多感謝,如何讓這些框對齊jquery或css
HTML:
<div id="boxWrap">
<div id="innerWrap">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
</div>
的jQuery:
$(function() {
var html = '<div class="box"></div>';
$('#boxWrap').append(html);
});
CSS:
.box {
width: 100px;
height: 100px;
background-color: #333333;
margin: 5px;
display: inline-block;
position: relative;
}
#boxWrap {
width: 100%;
overflow-y: visible;
height: 20px;
}
#innerWrap {
overflow-x: hidden;
max-width: 100%;
}
編輯:
<button>Append</button>
<div id="boxWrap">
<div id="innerWrap"><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div></div>
</div>
<input id="count" value=0></input>
$('button').click(function(){
var html = '<div class="box"></div>';
$inWrap = $('#innerWrap');
$inWrap.prepend(html);
$lastBox = $inWrap.find('.box');
var count = parseInt($('#count').val(), 10);
count = count+1;
$('#count').val(count.toString());
var limit = $inWrap.width()/110;
if(110*count >= $inWrap.width()) {
$lastBox.index(count-1).css({"display": "none" } );
}
});
嗨,謝謝你的時間。這非常接近,但我該如何阻止該框顯示一半?而且,當最後一個可以適合的盒子寬度會減少一點。 – user2330270
嗨,那是因爲'inline-block'之間的空白。您可以將空間註釋掉或只刪除它:http://jsfiddle.net/wLAwa/1/ – George
至於停止只顯示一半,您可以更改腳本以刪除最後一個框,如果它溢出它的父。像這樣的東西會工作:http://jsfiddle.net/wLAwa/2/ – George