如何在更少的时间内使用css选择器的加号过程?

如何在更少的时间内使用css选择器的加号过程?,css,less,Css,Less,有没有一种更有效的方法以更少的格式编写下面的CSS,或者是这样 li:first-child { border-right: solid 0.188em #da291c; padding: 0 2em 0 0; } li:first-child + li { padding: 0 0 0 2em; } li:first-child + li + li { padding: 0 2em 0 0; border-right: solid 0.188em #

有没有一种更有效的方法以更少的格式编写下面的CSS,或者是这样

li:first-child {
    border-right: solid 0.188em #da291c;
    padding: 0 2em 0 0;
}

li:first-child + li {
    padding: 0 0 0 2em;
}

li:first-child + li + li {
    padding: 0 2em 0 0;
    border-right: solid 0.188em #da291c;
    margin-left: 21%;
}

li:first-child + li + li + li {
    padding: 0 0 0 2em;
}      

您可以使用
&
引用父选择器:

li:first-child {
    border-right: solid 0.188em #da291c;
    padding: 0 2em 0 0;

    & + li {
        padding: 0 0 0 2em;

        & + li {
            padding: 0 2em 0 0;
            border-right: solid 0.188em #da291c;
            margin-left: 21%;

            & + li {
                padding: 0 0 0 2em;
            }
        }
    }
}

您也可以使用
:n子项
,它可能更适合您正在尝试的操作,但是检查浏览器支持

您可能会使它更复杂(继续前面的评论),但我不建议使用此项或更少的
&
内容。与使用
&
工具相比,您所拥有的内容更短(选择器分组完成),可读性更强。如果您不想支持IE8,我还建议您使用第n个子项。仅供参考,在相邻兄弟选择器的情况下,您实际上不需要
&
,只要
+[selector]
就可以了