¿Es posible usar el selector CSS3 :first-of-type
para 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>
fuente
.myclass1
selector seleccionaría cada elemento de.myclass1
. El selector.myclass1 ~ .myclass1
utiliza el combinador general de hermanos para seleccionar cada elemento con la clase.myclass1
que es el siguiente hermano de un elemento con una clase de.myclass1
. Esto se explica con increíble detalle aquí .El borrador de Selectores CSS Nivel 4 propone agregar una
of <other-selector>
gramática dentro del:nth-child
selector . Esto permitirá elegir el n º niño coinciden con un selector de otra dada:Los borradores anteriores usaban una nueva pseudoclase
:nth-match()
, por lo que puede ver esa sintaxis en algunas discusiones sobre la característica:Esto ahora se ha implementado en WebKit y, por lo tanto, está disponible en Safari, pero parece ser el único navegador que lo admite . Hay tickets archivados para implementarlo Blink (Chrome) , Gecko (Firefox) y una solicitud para implementarlo en Edge , pero no hay progreso aparente en ninguno de estos.
fuente
Esto no es posible utilizar el selector CSS3 : primero de tipo para seleccionar el primer elemento con un nombre de clase dado.
Sin embargo, si el elemento objetivo tiene un elemento anterior hermano, puede combinar la pseudoclase CSS de negación y los selectores hermanos adyacentes para que coincida con un elemento que no tiene inmediatamente un elemento anterior con el mismo nombre de clase:
Ejemplo de código de trabajo completo:
fuente
Encontré una solución para su referencia. de algunos divs grupales seleccione del grupo de dos divs de la misma clase el primero
Por cierto, no sé por qué
:last-of-type
funciona, pero:first-of-type
no funciona.Mis experimentos en jsfiddle ... https://jsfiddle.net/aspanoz/m1sg4496/
fuente
Este es un hilo antiguo, pero estoy respondiendo porque todavía aparece alto en la lista de resultados de búsqueda. Ahora que ha llegado el futuro, puede usar el pseudo-selector nth-child.
El pseudo-selector nth-child es poderoso: los paréntesis aceptan fórmulas y números.
Más aquí: https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
fuente
Como solución alternativa, puede ajustar sus clases en un elemento principal como este:
fuente
No estoy seguro de cómo explicar esto, pero me encontré con algo similar hoy. No poder configurar
.user:first-of-type{}
mientras.user:last-of-type{}
funcionaba bien. Esto se solucionó después de envolverlos dentro de un div sin ninguna clase o estilo:https://codepen.io/adrianTNT/pen/WgEpbE
fuente
Puede hacer esto seleccionando cada elemento de la clase que sea el hermano de la misma clase e invirtiéndolo, lo que seleccionará prácticamente todos los elementos de la página, por lo que debe seleccionar nuevamente por clase.
p.ej:
fuente
Simplemente
:first
funciona para mí, ¿por qué no se menciona esto todavía?fuente
:first
es una pseudoclase relacionada con la impresión.