沒(méi)有。嗯,不太好。有幾個(gè)選擇器可以使您更接近,但可能無(wú)法在您的示例中工作,并且沒(méi)有最好的瀏覽器兼容性。
:only-child
這個(gè):only-child
是少數(shù)幾個(gè)真正的計(jì)數(shù)選擇器之一,因?yàn)橹挥挟?dāng)元素的父元素有一個(gè)子元素時(shí),它才會(huì)被應(yīng)用。使用理想化的例子,它的作用就像children(1)
很可能會(huì)。
:nth-child
這個(gè):nth-child
實(shí)際上,選擇器可能會(huì)讓你得到你想要去的地方,這取決于你真正想要做的事情。如果您想在有8個(gè)孩子的情況下對(duì)所有元素進(jìn)行樣式化,那么您就不走運(yùn)了。但是,如果要將樣式應(yīng)用于第8個(gè)及更高版本的元素,請(qǐng)嘗試如下:
p:nth-child( n + 8 ){
/* add styles to make it pretty */}
不幸的是,這些可能不是你想要的解決方案。最后,您可能需要使用一些Javascript魔法來(lái)應(yīng)用基于計(jì)數(shù)的樣式-即使要使用其中之一,在使用純CSS解決方案之前,也需要仔細(xì)檢查瀏覽器兼容性。
W3CSS3關(guān)于偽類的規(guī)范
編輯我看你的問(wèn)題有點(diǎn)不同-還有其他幾種方法父母不是孩子。讓我以你的方式拋出幾個(gè)選擇器:
:empty
和:not
這種樣式的元素沒(méi)有子元素。它本身并不那么有用,但是當(dāng)它與:not
選擇器,只能對(duì)有子元素的元素進(jìn)行樣式設(shè)置:
div:not(:empty) {
/* We know it has stuff in it! */}
在這里,您無(wú)法計(jì)算有多少子程序可以使用純CSS,但是它是另一個(gè)有趣的選擇器,它可以讓您做一些很酷的事情。