我想用jquery構建一個砌體風格的佈局和位置元素。遍歷元素時,我試圖重置列位置,一旦該行已成爲3列寬,但是這個代碼不工作,我不明白爲什麼jquery砌體風格網格
var rowPos = 0;
$(document).ready(function(){
$('.box').each(function(ind){
var elementWidth = $(this).width();
var elementHeight = $(this).height();
$(this).css({
left: rowPos +'px'
});
if(rowPos >= elementWidth * 2){
rowPos === 0;
}else{
rowPos += elementWidth;
}
console.log(rowPos);
});
});
這導致3列寬其他元素堆疊在第三個頂部。
CSS
body{
font-size: 20px;
}
.container{
position: relative;
}
.box{
width: 33.333%;
position: absolute;
color: #fff;
text-align: center;
box-sizing: border-box;
}
.box span{
margin-top: -1em;
position: relative;
top: 50%;
margin-top: -1em;
}
.box1, .box3, .box6, .box8{
height: 400px;
}
.box2, .box5{
height: 600px;
}
.box4, .box7{
height: 350px;
}
.container div:nth-child(odd){
background: #2a8d6f;
}
.container div:nth-child(even){
background: #5b3eac;
}
標記
<div class="container">
<div class="box box1"><span>box 1</span></div>
<div class="box box2"><span>box 2</span></div>
<div class="box box3"><span>box 3</span></div>
<div class="box box4"><span>box 4</span></div>
<div class="box box5"><span>box 5</span></div>
<div class="box box6"><span>box 6</span></div>
<div class="box box7"><span>box 7</span></div>
<div class="box box8"><span>box 8</span></div>
</div>
請您分享您的HTML和CSS嗎? – vijayP
添加了標記和css。感謝 –
只是出於好奇,如果你正在處理不同大小的'div'盒子,你將如何管理'top'位置? – vijayP