이 JS 방법을 시도해보십시오
<script>
function renderGrid() {
var blocks = document.getElementById("container").children;
var pad = 10,
cols = 4, //Change this to as much as you want but in this It's 4
newleft, newtop;
for (var i = 1; i < blocks.length; i++) {
if (i % cols == 0) {
newtop = (blocks[i - cols].offsetTop + blocks[i - cols].offsetHeight) + pad;
blocks[i].style.top = newtop + "px";
} else {
if (blocks[i - cols]) {
newtop = (blocks[i - cols].offsetTop + blocks[i - cols].offsetHeight) + pad;
blocks[i].style.top = newtop + "px";
}
newleft = (blocks[i - 1].offsetLeft + blocks[i - 1].offsetWidth) + pad;
blocks[i].style.left = newleft + "px";
}
}
}
window.addEventListener("load", renderGrid, false);
window.addEventListener("resize", renderGrid, false);
</script>
그리고 이제 HTML 부분 :
<div id="container">
<div><p>Your content here!</p></div>
</div>
을 그리고 그것은 관하여하지만 당신은 또한 내부이 CSS 스타일을 추가하는 대신 class="container"
의 id="container"
이 있는지 확인 귀하의 CSS 파일 :
#container > div {
position: absolute;
float: left;
width: 25%;
}
결과 : 자동 정렬 당신의 div 자동 상단 및 왼쪽 요소 스타일과 함께.
희망 작품입니다. -Arqetech
테이블은 정렬과 포맷팅면에서 꽤 융통성이 있습니다. 반응 형 디자인이 아니고 고정 행을 사용하면 절대 위치를 모두 지정할 수 있고 상단 : 100px 등을 설정할 수 있습니다. 그러나 모든 것이 잘 포장되도록하려면 테이블을 떼어 div로 이동하십시오. Divs는 반응적이고 유연한 레이아웃을위한 다양한 옵션을 제공합니다. – jorblume
귀하의 질문에 무수한 시간을 물어 보았습니다. 문제에 대한 유일한 CSS만의 솔루션 인 CSS 열을 찾고 있습니다. 여기에 [괜찮은 읽기] (http://w3bits.com/css-masonry/)가 있습니다. 아니면 벽돌, 동위 원소, 부트 스트랩 폭포 (Bootstrap Waterfall), Pinterest 대본 (Pinterest script)과 같은 최상의 옵션을 가지고'js' 경로를 사용할 수 있습니다. –