gpt4 book ai didi

css - 选择 CSS 中的每个第 N 个元素

转载 作者:行者123 更新时间:2023-11-28 05:49:29 29 4
gpt4 key购买 nike

是否可以选择一组元素中的每四个元素?

例如:我有 16 <div>元素...我可以写类似的东西。

div:nth-child(4),
div:nth-child(8),
div:nth-child(12),
div:nth-child(16)

有更好的方法吗?

最佳答案

顾名思义,:<b>n</b>th-child() 允许您使用 n 变量和常数构造算术表达式。您可以执行加法 ( + )、减法 ( - ) 和 coefficient multiplication ( an ,其中 a 是一个整数,包括正数、负数和零)。

下面是重写上述选择器列表的方法:

div:nth-child(4n)

有关这些算术表达式如何工作的解释,请参阅我对 this question 以及 spec 的回答。

请注意,此答案假定同一父元素中的所有子元素都属于同一元素类型 div 。如果您有任何其他不同类型的元素,例如 h1p ,您将需要使用 :nth-of-type() 而不是 :nth-child() 以确保您只计算 div 元素:

<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>

对于其他所有内容(类、属性或它们的任意组合),如果您正在寻找与任意选择器匹配的第 n 个子项,您将无法使用纯 CSS 选择器执行此操作。请参阅我对 this question 的回答。


顺便说一句,在 :nth-child() 方面,4n 和 4n + 4 之间没有太大区别。如果您使用 n 变量,它从 0 开始计数。这是每个选择器将匹配的内容:

: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
...

如您所见,两个选择器都将匹配与上面相同的元素。在这种情况下,没有区别。

关于css - 选择 CSS 中的每个第 N 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421584/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com