¿Es posible seleccionar, digamos, cada cuarto elemento en un conjunto de elementos?
Ej: tengo 16 <div>elementos ... podría escribir algo así.
div:nth-child(4),
div:nth-child(8),
div:nth-child(12),
div:nth-child(16)
¿Hay una mejor manera de hacer esto?
css
css-selectors
Derek Adair
fuente
fuente

Respuestas:
Como su nombre lo indica, le permite construir una expresión aritmética usando la variable además de los números constantes. Puede realizar la suma ( ), la resta ( ) y la multiplicación de coeficientes ( donde es un número entero, incluidos números positivos, números negativos y cero).
:nth-child()n+-anaAsí es como reescribiría la lista de selección anterior:
Para obtener una explicación sobre cómo funcionan estas expresiones aritméticas, consulte mi respuesta a esta pregunta , así como la especificación .
Tenga en cuenta que esta respuesta supone que todos los elementos secundarios de un mismo elemento padre son del mismo tipo de elemento,
div. Si tiene otros elementos de diferentes tipos, comoh1op, deberá usarlos en:nth-of-type()lugar de:nth-child()para asegurarse de contar solodivelementos:Para todo lo demás (clases, atributos o cualquier combinación de estos), donde está buscando el enésimo hijo que coincide con un selector arbitrario, no podrá hacer esto con un selector CSS puro. Vea mi respuesta a esta pregunta .
Por cierto, no hay mucha diferencia entre 4n y 4n + 4 con respecto a
:nth-child(). Si usa lanvariable, comienza a contar en 0. Esto es lo que coincidiría con cada selector::nth-child(4n):nth-child(4n+4)Como puede ver, ambos selectores coincidirán con los mismos elementos que los anteriores. En este caso, no hay diferencia.
fuente
tr td:nth-child(4). Tenga en cuenta la falta de n entre paréntesisVer: http://css-tricks.com/how-nth-child-works/
fuente
Prueba esto
fuente
Necesita el argumento correcto para la
nth-childpseudo clase.El argumento debe tener la forma de
an + bhacer coincidir cada uno de los hijos a partir de b.Ambos
aybson enteros opcionales y ambos pueden ser cero o negativos.aes cero, entonces no hay una cláusula "cada uno de los hijos" .aes negativo, la coincidencia se realiza hacia atrás a partir deb.bes cero o negativo, entonces es posible escribir una expresión equivalente usando positivo,bpor ejemplo,4n+0es igual que4n+4. Del4n-1mismo modo es igual que4n+3.Ejemplos:
Seleccione cada 4to niño (4, 8, 12, ...)
Seleccione cada cuarto niño a partir de 1 (1, 5, 9, ...)
Mostrar fragmento de código
Seleccione cada tercer y cuarto niño de grupos de 4 (3 y 4, 7 y 8, 11 y 12, ...)
Mostrar fragmento de código
Seleccione los primeros 4 elementos (4, 3, 2, 1)
Mostrar fragmento de código
fuente