澄清:
由于原始问题的先前措辞,一些SO公民提出了对此答案可能产生误解的担忧。请注意,在CSS3中,无法根据样式的 子 级数将样式应用于 父节点 。但是,
可以 根据子节点具有的 兄弟 节点数将样式应用于子节点。
原始答案:
令人难以置信的是,现在这完全可以在CSS3中实现。
li:first-child:nth-last-child(1) { width: 100%;}li:first-child:nth-last-child(2),li:first-child:nth-last-child(2) ~ li { width: 50%;}li:first-child:nth-last-child(3),li:first-child:nth-last-child(3) ~ li { width: 33.3333%;}li:first-child:nth-last-child(4),li:first-child:nth-last-child(4) ~ li { width: 25%;}诀窍是在第一个孩子也是第n个孩子时选择第一个孩子。 这有效地根据兄弟姐妹的数量进行选择。
这种技术值得称赞的是AndréLuís(已发现)和Lea Verou(已提炼)。



