Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅当存在多个项目时,才通过CSS对列表进行编号_Css_Xml - Fatal编程技术网

仅当存在多个项目时,才通过CSS对列表进行编号

仅当存在多个项目时,才通过CSS对列表进行编号,css,xml,Css,Xml,我有一个XML文档,我正试图通过CSS设计它的样式。此XML的相关片段如下所示: <senseBlock> <prelim>Not numbered</prelim> <sense>first item</sense> <sense>second item</sense> <sense>third item</sense> </senseBlock&g

我有一个XML文档,我正试图通过CSS设计它的样式。此XML的相关片段如下所示:

<senseBlock>
    <prelim>Not numbered</prelim>
    <sense>first item</sense>
    <sense>second item</sense>
    <sense>third item</sense>
</senseBlock>
我曾考虑过使用一个相邻的选择器,比如
sense+sense
,来检测多个项目,但这并不会设置列表中第一个元素的样式。我几乎得出结论,如果不修改XML,这是不可能的,但我想在我放弃之前,我会将这一挑战扩展到社区


这只需要在最新版本的Safari for iPhone中才能使用。

Aha!我自己用CSS3最后一个子伪选择器解决了这个问题。该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;
}
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;
}