Recuo fácil enésimo filho com iteração

Eu já vi muito, “Como aplico uma classe de foo a cada três postagens no blog?”

E muitas pessoas respondendo, “Basta usar n-ésimo filho”.

Bem, o enésimo filho não funciona no IE8 e versões anteriores. Essa é uma grande quantidade de pessoas.

Portanto, use o nth-child, mas também use a iteração. Aqui está um exemplo rápido de como fazer isso no Loop do WordPress:

<?
$i
= 1;
if ( have_posts() ) : while ( have_posts() ) : the_post();
$i
++;
?>
<article
<? if($i % 3 == 0) { echo ' class="last"'; } ?>>
<header><? the_title(); ?></header>
<? the_excerpt(); ?>
</article>
<? endwhile; else: ?>
<p><? _e('Sorry, no posts matched your criteria.'); ?></p>
<? endif; ?>

Demolir

  1. Declaramos $ i = 1
  2. Então dizemos: “Comece a buscar postagens”
  3. Assim que você tiver o primeiro post carregado, adicione um a qualquer $ i
  4. Em seguida, entramos em nossa marcação real e dizemos: “Se $ i é divisível por 3, então …”

Em coisas como Django, isso é trivial com a tag de template divisibleby, mas usar este conceito é cross-browser e cross-language. Aproveitar.