【发布时间】:2013-05-05 22:37:01
【问题描述】:
从昨天下午开始,我在编写设计代码时碰壁了。我有一个带有经典无序列表的菜单,我正在尝试将其设置为瓷砖“画廊”。我正在处理 12 列网格,方形瓷砖是流动的。
这是方块浮动时的样子:http://jsfiddle.net/Lzvna/1/
如您所见,li:first-child 正方形占据了右侧 4 个常规大小的 li 正方形的空间。当您调整窗口大小时,由于它们的百分比 width 和 padding 值,正方形会按预期弯曲,但是当您达到某些分辨率时,此列表中的最后一个正方形将在右侧的 4 个正方形下方碰撞。
问题实际上出在第一个方格上,因为当元素浮动时,它不会与右侧的 4 个方格“同步”调整大小。当你检查它时,你会发现第一个正方形比它应该的大约 1px。在 Opera 和 Safari 上似乎是最糟糕的。 Chrome、FF 和 IE 也会破坏它,但 Chrome 似乎是最仁慈的。
我尝试将第一个正方形的宽度和内边距减小到 3px,但它仍然会在 Opera 中中断,并且布局会开始变得丑陋。
我还尝试使用display: inline-block 显示正方形内联,而不是浮动。在这里,调整大小的问题消失了(方块调整大小“同步”),但反过来我遇到了将右侧的 4 个方块与第一个方块在同一行上流动的问题:http://jsfiddle.net/UaCPN/
有人知道如何解决浮动时调整大小的问题吗?
如果没有,有没有办法让 4 个方块在显示 inline-block 时以相同的方式流动?
-- 编辑--
附加信息
对于较小的屏幕,我计划减少列数并将它们排列在
li:first-child下,这将解决这个调整大小的问题,因为当彼此相邻的元素具有相同的宽度和高度,即:google "Fluid Squares V2"(抱歉,还不能发布更多链接)。列表项的数量不固定。我希望能够在标记的堆栈顶部添加更多内容,并让样式处理其余部分。
【问题讨论】:
标签: resize css-float fluid-layout css