css 奇數 偶數 指定數樣式

2022-02-08 07:28:13 字數 1425 閱讀 1169

原文: 

語法    :nth-child(an+b)

第一種:簡單數字序號寫法

:nth-child(number)

直接匹配第number個元素。引數number必須為大於0的整數。

例子:

li:nth-child(3)/把第3個li的背景設為橙色/

第二種:倍數寫法

:nth-child(an)

匹配所有倍數為a的元素。其中引數an中的字母n不可預設,它是倍數寫法的標誌,如3n、5n。

例子:

li:nth-child(3n)/把第3、第6、第9、…、所有3的倍數的li的背景設為橙色/

第三種:倍數分組匹配

:nth-child(an+b) 與 :nth-child(an-b)

先對元素進行分組,每組有a個,b為組內成員的序號,其中字母n和加號+不可預設,位置不可調換,這是該寫法的標誌,其中a,b均為正整數或0。如3n+1、5n+1。但加號可以變為負號,此時匹配組內的第a-b個。(其實an前面也可以是負號,但留給下一部分講。)

例子:

li:nth-child(3n+1)/* 匹配第1、第4、第7、…、每3個為一組的第1個li*/li:nth-child(3n+5)/*

匹配第5、第8、第11、…、從第5個開始每3個為一組的第1個li

*/li:nth-child(5n-1)/*

匹配第5-1=4、第10-1=9、…、第5的倍數減1個li

*/li:nth-child(3n±0)/*

相當於(3n)

*/li:nth-child(±0n+3)/*

相當於(3)

*/

第四種:反向倍數分組匹配

:nth-child(-an+b)

此處一負一正,均不可預設,否則無意義。這時與:nth-child(an+1)相似,都是匹配第1個,但不同的是它是倒著算的,從第b個開始往回算,所以它所匹配的最多也不會超過b個。

例子:

li:nth-child(-3n+8)/匹配第8、第5和第2個li/li:nth-child(-1n+8)/*

或(-n+8),匹配前8個(包括第8個)li,這個較為實用點,用來限定前面n個匹配常會用到

*/

第五種:奇偶匹配

:nth-child(odd) 與 :nth-child(even)

分別匹配序號為奇數與偶數的元素。奇數(odd)與(2n+1)結果一樣;偶數(even)與(2n+0)及(2n)結果一樣。

**奇偶數行定義樣式就可以寫成

.table > tr:nth-child(even) >td {} //(偶數行)

.table > tr:nth-child(odd) > td //(奇數行)

奇數下標為奇數偶數下表為偶數

給定乙個長度不小於2的陣列arr,實現乙個函式調整arr,要麼讓所有的偶數下標都是偶數,要麼讓所有的奇數下標都是奇數 注意 1 陣列下標從0開始!2 本題有special judge,你可以輸出任意一組合法解!同時可以證明解一定存在 要求 時間複雜度為o n o n 額外空間複雜度為o 1 o 1 ...

奇數偶數重組

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。include include using namespace std void reorderarray vector arr...

奇數與偶數

所謂偶數還是奇數,分別的關鍵在於是否存在 2 的因子。2n 1 是第 n 個奇數,2n 1,則是第 n 1 個奇數 最簡分數 pq 也即不存在公共因子 p,q 一定不會同時是偶數,但卻可以同時是奇數。奇數 b 一定可以表示為 b k a 1b 1 之後一定是偶數,a 可以取 2 2 a 1,2 b ...