I needed to select some elements between two fixed indexes the other day — like literally the second through fifth elements. Ironically, I have a whole post on “Useful :nth-child Recipes” but this wasn’t one of them.
The answer, it turns out, isn’t that complicated. But it did twist my brain a little bit.
Say you want to select all divs from the second one and beyond:
div:nth-child(n + 2) { } /* [ ] [x] [x] [x] [x] [x] [x] [x], etc. */
That makes logical sense to me. If n is 0, the expression is 2, and n increments upwards from there and selects everything beyond it.
But then how do you “stop” the selecting at a specific index? Like…
/* Not real */ div:nth-child(minmax(2, 5)) { } /* [ ] [x] [x] [x] [x] [x] [ ] [ ], etc. */
Well, we can do the opposite thing, selecting only the first set of elements then stopping (constraining in the other direction) by reversing the value of n.
div:nth-child(-n + 6) { } /* [x] [x] [x] [x] [x] [ ] [ ] [ ], etc. */
That will select the the first five elements and then stop because, as n gets bigger, the expression value goes to 0 and into negative numbers.
So, the CSS trick here is to combine both of those :nth-child expressions.
We know that CSS pseudo-selectors are additive in the sense that they must both be true in order to select them.
a:first-child:hover { /* selects the <a> if it is BOTH the first child and in a hover state */ }</a>
To accomplish the idea of “2 and over” and “5 and under” we chain the pseudo-selectors:
div:nth-child(n + 2):nth-child(-n + 6) { background: green; }
That’ll do:
The part that twisted my brain was thinking about “additive” pseudo-selectors. I was thinking that selecting “2 and up” would do just that, and “5 and under” would do just that, and those things combined meant “all elements.” But that’s just wrong thinking. It’s the conditions that are additive, meaning that every element must meet both conditions.
If you found this confusing like I did, wait until you check out Quanity Queries. By nesting a lot of nth-style pseudo-selectors, you can build logic that, for example, only selects elements depending on how many of them are in the DOM.
div:nth-last-child(n+2):nth-last-child(-n+5):first-child, div:nth-last-child(n+2):nth-last-child(-n+5):first-child ~ div { /* Only select if there are at least 2 and at most 5 */ }
Una broke this down even further for us a while back.
以上是:两个固定索引之间的孩子的详细内容。更多信息请关注PHP中文网其他相关文章!

React生态系统为我们提供了许多库,所有库都集中在拖放的相互作用上。我们有反应,反应,可爱dnd,

我可以说我经常使用背景折叠。 IT Wager IT几乎从未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用RequestAnimationFrame进行动画化应该很容易,但是如果您还没有彻底阅读React的文档,那么您可能会遇到一些事情

听着,我不是GraphQL专家,但我确实喜欢与之合作。作为前端开发人员,它向我曝光数据的方式非常酷。它就像一个菜单


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中