He flotado artículos uno al lado del otro que tienen un ancho del 25%. Estoy agregando un clear:both
después de cada cuarto elemento. Sin embargo, necesito insertar un salto de sección gráfica entre los elementos. Y tiene que estar dentro del <ul>
. Para ser válido, envolví el "salto de sección" (el primer artículo li en la muestra de abajo) en un <li>
también.CSS: selector n-ésimo() y: not()?
<ul>
<li class="year"><h1>THIS IS A SECTION Break and 100% wide</h1></li>
<li>This is a article and only 25% wide</li>
<li>This is a article and only 25% wide</li>
<li>This is a article and only 25% wide</li>
<li>This is a article and only 25% wide</li>
</ul>
Quiero que cada cuarto elemento que es un salto de línea, así que uso ...
ul li:nth-of-type(4n+1) { clear: both; }
Sin embargo quiero que el li.year
no ser afectado por este comportamiento por lo que probé este
ul li:not(.year):nth-of-type(4n+1) { clear: both; }
En este momento, el último <li>
en mi código de muestra anterior está flotando en la siguiente línea, pero eso no debería ocurrir ya que el primer <li>
no es uno de los flotantes d artículos, pero contiene un título.
¿Es posible apilar el selector :not
y nth-of-type()
entre sí?
Gracias, esto funciona perfectamente - incluso pensé que no lo entiendo. ¿Alguna explicación sobre eso? – matt
@matt sinceramente, no tengo ni idea. Miré el documento de MDN durante 5 minutos, y todavía estoy confundido. No tiene sentido. https://developer.mozilla.org/en-US/docs/CSS/clear – McGarnagle
En realidad, el problema parece estar en el selector. Observe que está aplicando 'clear: left' a': nth-of-type (4n + 2) 'en oposición a': nth-of-type (4n + 1) 'en el original; su 'clear: right' en el selector original no tiene ningún efecto porque ninguno de los elementos se está flotando hacia la derecha. – BoltClock