我真的需要你的帮助,因为我不知道这是否可能或正确。
这是我的 HTML
所以,正如你所看到的,我有一个<ul>
with multiple <li>
。让我的整个事情变得复杂的是其中有一个事实<li class="wrapper year">
。
所有这些<li>
都在 4 列中并排浮动。我需要clear
在每 4 个元素之后添加一个,以便下一行水平处于同一水平。但是,这些<li class="wrapper year">
项目被排除在此行为之外,因为它们应该始终clear:both
。
首先,我知道这可能不是完美的 HTML 结构,在<li>
元素中也包含“年份”计数,但基于背景中的 CMS,可能无法以其他方式做到这一点!
这是CSS
ul.event-items li:not(.year):nth-of-type(4n+1) { clear: right; }
ul.event-items li:not(.year):nth-of-type(4n+2) { clear: left; }
这几乎可以正常工作,但是我不明白为什么会发生以下情况?!
因此,您可以将 2012 年视为 11 项的计数,2011 年有 13 项,2010 年有 12 项。所以变化是因为这些项目是基于 CMS 的。
浮动和清除(每 4 次之后li
)似乎在 2012 年和 2011 年工作得很好,但是当谈到 2010 年时,您可以看到在这一行的第二个元素之后有一个清除。这是为什么?