Próbuję umieścić kilka elementów div, z tą zasadą: Wypełnij pierwszą kolumnę tam, gdzie to możliwe, a następnie (gdy pierwsza kolumna jest pełna) wypełnij drugą kolumnę itp. (Proszę zobaczyć obraz poniżej)float: lewy wypełnij tę samą kolumnę, gdzie to możliwe
to jest to, co chcę mieć! (utworzona z farbą)
W powyższym obrazie, jak widać, pierwsza kolumna ma 1,2,3,4 i nie ma wystarczająco dużo miejsca w pionie, aby umieścić 5 w pierwszej kolumnie. Więc 5 powinny być umieszczone na drugiej kolumnie ...
Starałem się stworzyć coś podobnego obrazu powyżej używając float:left
, ale jest to wynik:
Jak stworzyć coś jak pierwszy obraz? Co jest nie tak z moim aktualnym kodem (który tworzy drugi obraz)?
To jest mój kod HTML:
<div class="container">
<div class="i1">1</div>
<div class="i1">2</div>
<div class="i1">3</div>
<div class="i1">4</div>
<div class="i2">5</div>
<div class="i3">6</div>
<div class="i1">7</div>
<div class="i1">8</div>
</div>
I to jest mój CSS:
.container {
overflow:scroll;
width:10000px;
height:200px;
background:skyblue;
position:absolute;
}
.i1,.i2,.i3 {
float:left;
width:100px;
background:lime;
border-radius: 20px;
text-align:center;
}
.i1 {
height:33px;
}
.i2 {
height:66px;
}
.i3 {
height:100px;
}
Co masz na myśli przez "wypełnić, jeśli to możliwe?" – Kyle
Masz na myśli kolumnę, prawda? Wiersze są poziome, a kolumny pionowe. Myślę, że możesz potrzebować dodatkowego znacznika do robienia tego, co chcesz. – Kyle
zmień słowo 'wiersz' na' kolumna' w pytaniu, a dam ci +1, aby zrekompensować -1, które masz teraz. Myślę, że twoje pytanie jest dobre, ale słowo 'wiersz' czyni to mylącym kiedy masz na myśli' kolumnę' – Bazzz