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中文網其他相關文章!

SVG具有自己的一套元素,屬性和屬性集,以至於內聯SVG代碼可能會變得漫長而復雜。通過利用CSS和SVG 2規範的一些即將到來的功能,我們可以減少該代碼以進行清潔標記。

PWA(Progressive Web應用程序)已經與我們在一起了一段時間。但是,每次我嘗試向客戶解釋它時,同樣的問題都會出現:“我的用戶會成為


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境