可变高度浮动元素的布局扭曲
在浮动布局中使用可变高度元素时,遇到较高的情况并不罕见元素将后续的兄弟元素向下推,破坏了预期的网格结构。
考虑以下示例:六个图形元素被设计成两行,每行三个。然而,由于元素的高度不同,第四个图形元素超出了第一行,导致第五和第六个元素偏移。
此示例使用的 CSS 很简单:
figure { width: 30%; float: left; margin-left: 1%; font-size: small; outline: solid #999 1px; } img { max-width: 100%; }
为了解决布局扭曲问题,我们可以引入专门针对每行第一个元素的 CSS 规则。通过清除左侧浮动,我们确保后续同级元素在它们下方水平对齐。
figure:nth-of-type(3n+1) { clear:left; }
此规则通过强制第四个图形元素开始新行来解决对齐问题。随后,第五个和第六个元素正确地定位在前三个元素的下方。
更新后的示例布局现在符合预期,每行由三个均匀间隔的图形元素组成,无论它们的高度差异如何。
以上是如何防止可变高度浮动元素导致布局扭曲?的详细内容。更多信息请关注PHP中文网其他相关文章!