Ho flottato articoli affiancati larghi del 25%. Sto aggiungendo un clear:both
dopo ogni quarto elemento. Tuttavia ho bisogno di inserire un'interruzione di sezione grafica tra gli elementi. E deve essere all'interno dello <ul>
. Per essere valido ho avvolto la "interruzione di sezione" (la prima voce di li nell'esempio in basso) in uno <li>
pure.CSS: selettore nth-of-type() e: 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>
Voglio che ogni quarto elemento per essere un'interruzione di linea per cui uso ...
ul li:nth-of-type(4n+1) { clear: both; }
Tuttavia voglio il li.year
di non essere colpiti da questo comportamento così ho provato questo
ul li:not(.year):nth-of-type(4n+1) { clear: both; }
In questo momento l'ultimo <li>
nel mio codice di esempio sopra è flottato nella riga successiva ma ciò non dovrebbe accadere dal momento che il primo <li>
non è uno dei floate d articoli ma contiene un titolo.
È possibile impilare i selettori :not
e nth-of-type()
l'uno sull'altro?
Grazie, questo funziona perfettamente - anche pensato che non capisco. Qualche spiegazione su questo? – matt
@matt onestamente, non ne ho idea. Fissato il documento MDN per circa 5 minuti, e sono ancora confuso. Non ha senso. https://developer.mozilla.org/en-US/docs/CSS/clear – McGarnagle
In realtà, il problema sembra essere nel selettore. Notate che state applicando 'clear: left' a': nth-of-type (4n + 2) 'al contrario di': nth-of-type (4n + 1) 'nell'originale; il tuo 'clear: right' sul selettore originale non ha alcun effetto perché nessuno degli elementi viene flottato a destra. – BoltClock