type tricks pseudo nth last elementos clases child css css3 css-selectors pseudo-class

tricks - css3 nth de tipo restringido a la clase



nth-of-type class (2)

Esta pregunta ya tiene una respuesta aquí:

¿Hay alguna forma de limitar el nth-of-type css3 a una clase? Tengo una cantidad dinámica de elementos de section con diferentes clases que designan sus necesidades de diseño. Me gustaría obtener cada 3er .module , pero parece que nth-of-type busca el tipo de elemento de clases y luego calcula el tipo. En cambio, me gustaría limitarlo solo a .module s.

¡Gracias!

JSFiddle para demostrar: http://jsfiddle.net/danielredwood/e2BAq/1/

HTML:

<section class="featured video"> <h1>VIDEO</h1> </section> <section class="featured module"> <h1>NOT A VIDEO</h1> </section> <section class="featured module"> <h1>NOT A VIDEO</h1> </section> <section class="featured module"> <h1>NOT A VIDEO (3)</h1> </section> <section class="featured module"> <h1>NOT A VIDEO</h1> </section> <section class="featured module"> <h1>NOT A VIDEO</h1> </section> <section class="featured module"> <h1>NOT A VIDEO (6)</h1> </section>

CSS:

.featured { width:31%; margin:0 0 20px 0; padding:0 3.5% 2em 0; float:left; background:#ccc; } .featured.module:nth-of-type(3n+3) { padding-right:0; background:red; } .featured.video { width:auto; padding:0 0 2em 0; float:none; }​


Desafortunadamente, no hay forma (al menos ninguno que yo sepa) de seleccionar nth-of-type de una clase, ya que no existe la nth-of-class . Es probable que deba agregar una nueva clase a cada tercer .module manualmente.


Parece que lo que realmente quieres es el selector css4: n-match , pero en realidad no es compatible con la mayoría de los navegadores, por lo que actualmente, la única forma de hacerlo es con javascript.

$(".featured.module").filter(function(index, element){ return index % 3 == 2; }).addClass("third");

http://jsfiddle.net/w3af16dj/