如果没有看到结果,这可能很难解释,所以请看一下这些示例:
JSFiddle 示例 1 - 看起来不错
JSFiddle 示例 2 - 损坏
小提琴的代码:
HTML:
<ul id="homepage-grid">
<li id="tile11" class="col1 row1 sizex1 sizey1">
<a href="#" title="test">
<img src="http://placehold.it/295x160" alt="test" title="test" style="width: 295px;height: 160px" />
</a>
</li>
<li id="tile8" class="col2 row1 sizex2 sizey1 last">
<a href="#" title="test">
<img src="http://placehold.it/602x160" alt="test" title="test" style="width: 602px;height: 160px" />
</a>
</li>
<li id="tile1" class="col1 row2 sizex1 sizey1">
<a href="#" title="testing">
<img src="http://placehold.it/295x160" alt="testing" title="testing" style="width: 295px;height: 160px" />
</a>
</li>
<li id="tile4" class="col2 row2 sizex2 sizey1 last">
<a href="#" title="test3">
<img src="http://placehold.it/602x160" alt="test3" title="test3" style="width: 602px;height: 160px" />
</a>
</li>
<li id="tile10" class="col1 row3 sizex1 sizey2">
<a href="#" title="test">
<img src="http://placehold.it/295x332" alt="test" title="test" style="width: 295px;height: 332px" />
</a>
</li>
<li id="tile12" class="col2 row3 sizex1 sizey2">
<a href="#" title="test">
<img src="http://placehold.it/295x332" alt="test" title="test" style="width: 295px;height: 332px" />
</a>
</li>
<li id="tile2" class="col3 row3 sizex1 sizey1 last">
<a href="#" title="testing2">
<img src="http://placehold.it/295x160" alt="testing2" title="testing2" style="width: 295px;height: 160px" />
</a>
</li>
<li id="tile9" class="col3 row4 sizex1 sizey1 last">
<a href="#" title="test">
<img src="http://placehold.it/295x160" alt="test" title="test" style="width: 295px;height: 160px" />
</a>
</li>
</ul>
CSS:
#homepage-grid {
width:910px;
position:relative;
padding:0;
overflow: hidden;
}
#homepage-grid li {
list-style:none;
float:left;
padding:0 12px 12px 0;
display:block;
}
#homepage-grid li.last {
list-style:none;
float:left;
padding:0 0 12px 0;
}
#homepage-grid li a {
display:block;
}
基本上我想要创建的是一个动态网格,它由一个数据库填充(数据库部分目前工作正常)。在网格中,每个图块最多可以跨越 3 列宽,但是可以跨越无限行,这似乎是我遇到问题的地方。
对于如此动态的东西,我在使用 HTML/CSS 时遇到了麻烦。如您所见,从示例 1 到示例 2 的一个小变化,它破坏了大部分网格,因为左下方的瓷砖应该向上推以填充空间,而右侧的瓷砖应该向上移动以填充该空间。
但是,我可以完全控制代码,因此 HTML/CSS 可以根据需要进行更改(即添加类/内联样式/等)。
我想这可以(相对)轻松地使用表格,但由于它不是表格内容,我真的不想走这条路。
有没有办法让 CSS 变得如此动态?
我需要使用更多的内联样式来实现这一点吗?
我应该以另一种方式来做,例如绝对定位而不是浮动?
任何有关如何实现这一目标的帮助将不胜感激。