这是一个常见的问题,但是我想指出的是,之所以: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 —它们都将匹配同一组元素:
您不能使用单个:nth-child()
伪类或包含任何伪组合的单个复合选择器来执行此:nth-child()
操作,因为An + B表示法根本不允许构建与所述范围内的元素匹配的表达式。