Hej próbuję zrobić pływającą siatkę, która ma różne kształty.Niejednolita kratka sieciowa
Tu jest mój cel i co dzieje:http://imgur.com/a/wXQfA
Jak widać istnieje luka pod poziomym kawałku. Próbuję to naprawić bez konieczności użycia żadnego pozycjonowania, aby móc później dodawać pola lub przenosić je.
Kod: Html
<li class="mediumBox">
<a href="#"><img src="..." height="205" width="430"></a>
</li>
<li class="largeBox">
<a href="#"><img src="..." height="430" width="430"></a>
</li>
<li class="verticleMediumBox">
<a href="#"><img src="..." height="430" width="205"></a>
</li>
<li class="smallBox">
<a href="#"><img src="..." height="205" width="205"></a>
</li>
<li class="smallBox">
<a href="#"><img src="..." height="205" width="205"></a>
</li>
<li class="smallBox">
<a href="#"><img src="..." height="205" width="205"></a>
</li>
<li class="smallBox">
<a href="#"><img src="..." height="205" width="205"></a>
</li>
</ul>
</div>
</body>
CSS:
body{
background-color: #fffdf9;
height: 100%;
width: 100%;
}
#content{
background-color: red;
height: auto;
width: 900px;
margin: 5em auto 0 auto;
}
#work ul{
list-style: none;
}
#work li{
float: left;
margin: 10px;
}
#work li >a{
display: block;
}
#work li .smallBox{
float: left;
display: block;
}
#work li .mediumBox{
float: left;
display: block;
}
#work li .verticleMediumBox{
float: left;
display: block;
}
#work li .largeBox{
float: left;
display: block;
}
Oto mój kod:http://jsfiddle.net/jw7pV/ Z jakiegoś powodu wersja jsFiddle nie wygląda mojej wersji chromowanej .
Gdzie jest clearfix klasa w jsfiddle przykład? – SaidbakR
Nie jest to możliwe w przypadku treści dynamicznych przy użyciu samego CSS. W przypadku "float" lub "inline-block" zawsze będą puste przerwy, gdy bloki będą miały bardzo różne rozmiary. Będziesz musiał użyć jQuery, prawdopodobnie wtyczki do kafelków, jak [jQuery Masonry] (http://masonry.desandro.com/) lub czegoś podobnego. –