Seperti namanya, memungkinkan Anda untuk membangun ekspresi aritmatika menggunakan variabel di samping angka konstan. Anda dapat melakukan penjumlahan ( ), pengurangan ( ) dan koefisien (di mana bilangan bulat, termasuk bilangan positif, bilangan negatif, dan nol).:nth-child()
n
+
-
an
a
Inilah cara Anda akan menulis ulang daftar pemilih di atas:
div:nth-child(4n)
Untuk penjelasan tentang bagaimana ekspresi aritmatika ini bekerja, lihat jawaban saya untuk pertanyaan ini , serta spesifikasi .
Perhatikan bahwa jawaban ini mengasumsikan bahwa semua elemen anak dalam elemen induk yang sama adalah dari jenis elemen yang sama div
,. Jika Anda memiliki elemen lain dari jenis yang berbeda seperti h1
atau p
, Anda harus menggunakan :nth-of-type()
alih-alih :nth-child()
memastikan Anda hanya menghitung div
elemen:
<body>
<h1></h1>
<div>1</div> <div>2</div>
<div>3</div> <div>4</div>
<h2></h2>
<div>5</div> <div>6</div>
<div>7</div> <div>8</div>
<h2></h2>
<div>9</div> <div>10</div>
<div>11</div> <div>12</div>
<h2></h2>
<div>13</div> <div>14</div>
<div>15</div> <div>16</div>
</body>
Untuk yang lainnya (kelas, atribut, atau kombinasi dari semua ini), di mana Anda mencari anak ke-n yang cocok dengan pemilih sewenang-wenang, Anda tidak akan dapat melakukan ini dengan pemilih CSS murni. Lihat jawaban saya untuk pertanyaan ini .
Omong-omong, tidak ada banyak perbedaan antara 4n dan 4n + 4 sehubungan dengan :nth-child()
. Jika Anda menggunakan n
variabel, itu mulai menghitung pada 0. Inilah yang akan cocok dengan setiap pemilih:
:nth-child(4n)
4(0) = 0
4(1) = 4
4(2) = 8
4(3) = 12
4(4) = 16
...
:nth-child(4n+4)
4(0) + 4 = 0 + 4 = 4
4(1) + 4 = 4 + 4 = 8
4(2) + 4 = 8 + 4 = 12
4(3) + 4 = 12 + 4 = 16
4(4) + 4 = 16 + 4 = 20
...
Seperti yang Anda lihat, kedua penyeleksi akan cocok dengan elemen yang sama seperti di atas. Dalam hal ini, tidak ada perbedaan.