¿Es posible usar el selector CSS3 :first-of-typepara seleccionar el primer elemento con un nombre de clase dado? No he tenido éxito con mi prueba, así que creo que no.
El Código ( http://jsfiddle.net/YWY4L/ ):
p:first-of-type {color:blue}
p.myclass1:first-of-type {color:red}
.myclass2:first-of-type {color:green}
<div>
<div>This text should appear as normal</div>
<p>This text should be blue.</p>
<p class="myclass1">This text should appear red.</p>
<p class="myclass2">This text should appear green.</p>
</div>
.myclass1selector seleccionaría cada elemento de.myclass1. El selector.myclass1 ~ .myclass1utiliza el combinador general de hermanos para seleccionar cada elemento con la clase.myclass1que es el siguiente hermano de un elemento con una clase de.myclass1. Esto se explica con increíble detalle aquí .