我有一个XML文档,我试图通过CSS设置样式.此XML的相关片段如下所示:
Not numbered first item second item third item
我需要将
元素作为有序列表呈现,但前提是列表中有多个
元素.在只有一个
元素的列表中,我需要它显示为没有任何数字的普通段落.
现在我正在为这样的列表设置样式,但是当只有一个项目时我不知道如何隐藏数字:
senseBlock { display: block; counter-reset: sense; } prelim { display: block; } sense { display: list-item; list-style: decimal inside; } sense:before { counter-increment: sense; }
我想过使用相邻的选择器sense + sense
来检测多个项目,但那样就不会设置列表中第一个元素的样式.我已经得出结论,如果不修改XML,这是不可能的,但我想我会在放弃之前将这个挑战扩展到社区.
这只需要在最新版本的Safari for iPhone中使用.
啊哈!我使用CSS3 last-child伪选择器自己解决了这个问题.这个CSS达到了预期的效果:
senseBlock { display: block; counter-reset: sense; } prelim { display: block; } sense { display: list-item; list-style: decimal inside; } sense:before { counter-increment: sense; } prelim + sense:last-child { display: block; }