当前位置: 首页 > 面试题库 >

如何选择重复图案中的一系列元素

上官高翰
2023-03-14
问题内容

假设4行中有12个项目。

 |  1   ||  2   ||  3   |
 |  4   ||  5   ||  6   |
 |  7   ||  8   ||  9   |
 |  10  ||  11  ||  12  |

我要选择第二行和第四行并设置其样式,该怎么做?

请注意,行不在不同的HTML元素中,实际上它们都是ul li元素。

预期结果:

 |  1   ||  2   ||  3   |
 |--4---||--5---||--6---|
 |  7   ||  8   ||  9   |
 |--10--||--11--||--12--|

我试着玩这个:

li:nth-child(n+4)

它选择前三个之后的所有元素。然后我尝试了这个:

li:nth-child(n+4):nth-child(-n+8)

这只会选择4、5和6,但我无法重复此模式以选择10、11和12。CSS中对此有什么解决方案吗?


问题答案:

这是一个常见的问题,但是我想指出的是,之所以:nth-child(n+4):nth-child(-n+6)只匹配一个特定范围的元素,是因为它仅提供了一个起点(n + 4)和一个终点(-n+6)。唯一可以大于或等于4_且_小于或等于6的元素是4、5和6,因此无法使用相同的选择器来匹配此范围之外的元素。添加更多:nth-child()伪内容只会缩小匹配范围。

解决方案是从列的角度来考虑这一点,假设每行总有3列(元素)。您有三列,因此需要三个 单独的 :nth- child()伪值。第一列中的元素4和10相距6个元素,因此所有:nth-child()伪元素的参数都必须以6n开头。

An + B表达式中的+ b部分可以是+ 4,+ 5和+6,也可以是0,-1和-2 —它们都将匹配同一组元素:

  • li:nth-child(6n+4), li:nth-child(6n+5), li:nth-child(6n+6)
  • li:nth-child(6n), li:nth-child(6n-1), li:nth-child(6n-2)

您不能使用单个:nth-child()伪类或包含任何伪组合的单个复合选择器来执行此:nth-child()操作,因为An +
B表示法根本不允许构建与所述范围内的元素匹配的表达式。



 类似资料:
  • 我有一些蛋白质结构数据,我已将其转换为Pandas DataFrame。 有一列对应于氨基酸残基,标记为< code>resi。 我想选择<code>resi<code>值出现在其他列表中的所有行。现在,我可以使用以下方法选择存在的行: 如何选择行,以便包含疏水残基的行都被选中,而不在数据帧选择器中写入更多条件?据我所见,Pandas关于字符串方法的文档不允许我传递值列表。

  • 我的表有5列,其中一列名为country_visited,另一列名为name。其中一排是墨西哥和何塞,另一排是墨西哥和约翰。我想找回何塞和约翰共同拥有的国家。

  • 我想调用一个函数时,选择的任何选项。类似于这样: 但不知何故不起作用。有人能帮忙吗。 请注意 我不想捕获更改事件,如果我选择已经选择选项,则不会触发更改事件

  • 假设我们有一个集合(或流?) 现在我们想取两个元素并组成一对这样的一对 我们知道如何以丑陋的方式(for loop)做到这一点。 我想知道我们如何用 java 8 流做到这一点? 因为java流和反应式扩展中的方法几乎相同(两者都是单子),我认为可能有类似于RX将在2个元素到达时触发事件…

  • 问题内容: 我想搭配: 但是我不知道如何。 我可以像这样匹配一个零件 我怎么说“重复那个” 问题答案: 请尝试以下操作: 在后告诉它匹配的是括号一次或多次内部。 请注意,仅匹配ASCII字符,因此不会匹配到这样的单词,更不用说包含Unicode的单词/文本了。 编辑 和之间的区别是始终匹配单个字符。它称为“字符集”或“字符类”。所以,没有 不 匹配字符串,但匹配的人物之一,或。 之所以匹配您的字符

  • 例如,我的列表包含{4,6,6,7,7,8},我想要最终结果= {6,6,7,7} 一种方法是遍历列表并消除唯一值(本例中为4,8)。 除了在列表中循环之外,还有其他有效的方法吗?我问这个问题是因为我正在工作的列表非常大?我的密码是