2017-02-09 1 views
2

크롬 확장 프로그램을 작업 중입니다. n 개의 div 블록이 있습니다. div 블록의 n 개의 번호는 내가 방문 할 URL에 따라 다릅니다. 따라서 일부 페이지에서는 보이는 블록이 1,2,3,4,5 일 수도 있지만 다른 1,5 또는 1,5 일 수도 있습니다. 따라서 내 div's이 공백을 차지해야하며 공백을 남기지 않아야합니다.스크린 샷에 표시된대로 div 배치가 필요합니다.

Screenshot/Image Source

이 내가 (또한 jsfiddle에) 시도했다, 그러나 문제는 붉은 색 아래의 빈 공간 :

출력 나는이 필요합니다.

div { 
 
    float: left; 
 
    width: 200px; 
 
} 
 
.One { 
 
    background-color: Red; 
 
    height: 200px; 
 
} 
 
.Two { 
 
    background-color: Green; 
 
    height: 400px; 
 
} 
 
.Three { 
 
    background-color: Blue; 
 
    height: 500px; 
 
} 
 
.Four { 
 
    background-color: Orange; 
 
    height: 700px; 
 
} 
 
.Five { 
 
    background-color: Yellow; 
 
    height: 200px; 
 
} 
 
.Six { 
 
    background-color: Pink; 
 
    height: 400px; 
 
} 
 
.Seven { 
 
    background-color: Grey; 
 
    height: 600px; 
 
}
<div class="One"> 
 
</div> 
 
<div class="Two"> 
 
</div> 
 
<div class="Three"> 
 
</div> 
 
<div class="Four"> 
 
</div> 
 
<div class="Five"> 
 
</div> 
 
<div class="Six"> 
 
</div> 
 
<div class="Seven"> 
 
</div>

+0

필자의 바이올린은 원하는 출력에서 ​​멀리 떨어져 있지만, 원하는 모든 것이 빨간색 상자를 차지하고 그 아래 빈 공간으로 확장되는 이유는 무엇입니까? – kdyz

+0

그들은 야만적이어야한다. div 중 하나가 제거되면 다른 div가 해당 공간을 차지합니다. –

+0

일부 블록이 표시되지 않을 때 다른 블록을 정렬하는 방법에 대한 요구 사항을 알고 있어야합니다. 블럭을 특정 영역에 흘려 보내는 것이 상대적으로 쉽다. 그러나 * 정확하게 * 어떻게 보이는지는 그것이 어떻게 수행되었는지에 달려 있습니다. 우리는 당신이 원하는 것을 알 필요가 있습니다. 그것이 어떻게 보이는지에 대한 가능한 해석이 너무 많습니다. – Makyen

답변

0

HTML

<article> 
    <section> 
    <p class="sect1">1</p> 
    </section> 
    <section> 
    <p class="sect2">2</p> 
    </section> 
    <section> 
    <p class="sect3">3</p> 
    </section> 
    <section> 
    <p class="sect4">4</p> 
    </section> 
    <section> 
    <p class="sect5">5</p> 
    </section> 
    <section> 
    <p class="sect6">6</p> 
    </section> 
    <section> 
    <p class="sect7">7</p> 
    </section> 
    <section> 
    <p class="sect8">8</p> 
    </section> 
    <section> 
    <p class="sect9">9</p> 
    </section> 
    <section> 
    <p class="sect10">10</p> 
    </section> 
</article> 

CSS

*, *:before, *:after {box-sizing: border-box !important;} 

article { 
-moz-column-width: 10em; 
-webkit-column-width: 10em; 
-moz-column-gap: 1em; 
-webkit-column-gap: 1em; 

} 

section { 
display: inline-block; 
margin: 0.25rem; 
padding: 1rem; 
width: 100%; 
background: #efefef; 
} 

p { 
min-width: 200px; 
margin: 1rem 0; 
} 

.sect1{ min-height: 100px; } 
.sect2{ min-height: 200px; } 
.sect3{ min-height: 300px; } 
.sect4{ min-height: 300px; } 
.sect5{ min-height: 500px; } 
.sect6{ min-height: 600px; } 
.sect7{ min-height: 200px; } 
.sect8{ min-height: 400px; } 
.sect9{ min-height: 400px; } 
.sect10{ min-height: 400px; } 
다음

링크가있다 :,https://jsfiddle.net/JPratik2712/huLkhpux/

+0

이 답변은 코드를 [snippet] (https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)에 넣으면 크게 개선 될 것입니다. 스 니펫 (snippet)을 사용하면 사람들이 코드가 올바르게 작동하는지 신속하게 확인할 수 있기 때문에 스 니펫 (snippet)을 사용하면 투표를 더 많이 할 가능성이 높아집니다. 스 니펫이 항상 사용되는 것은 아니지만 JavaScript/HTML/CSS 기반 질문 및 답변의 경우 문제와 해결 방법을 모두 효과적으로 전달할 수 있습니다. 가능한 경우 오프 사이트 인 실행 가능한 코드 예제 (예 : JSFiddle)보다 스 니펫이 더 좋습니다. – Makyen

관련 문제