css - 如何在有序列表中正确地将我的自定义点放在我的自定义编号旁边?

标签 css list

在有序列表中,我被要求以与列表项不同的颜色显示数字,并在数字旁边添加一个点。

我设法做到了这一点,但是当数字变成 2 位数字时(从 10 开始),点的位置不正确。

知道如何解决这个问题吗?

CSS:

ol {
    list-style: none;
    counter-reset: item;

    li {
        position: relative;

        &::before {
            content: counter(item);
            counter-increment: item;
            color: green;
            display: inline-block;
            width: 1em;
            font-weight: bold;
            margin-right: 0.5rem;
        }
        &::after {
            position: absolute;
            content: '.';
            left: 12px;
            color: green;
            font-weight: bold;
        }
    }
}

Here's my code in a pen .

最佳答案

无需使用 after 伪元素:像这样更改 ::before,在 content

末尾添加点
ol {
    list-style: none;
    counter-reset: item;

    li {
        position: relative;

        &::before {
            content: counter(item) ".";
            counter-increment: item;
            color: green;
            display: inline-block;
            width: 1em;
            font-weight: bold;
            margin-right: 0.5rem;
        }

    }
}

这样,无论您有多少位数字,点的位置将始终跟在数字后面。

Codepen fork

关于css - 如何在有序列表中正确地将我的自定义点放在我的自定义编号旁边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061055/

相关文章:

javascript - 如何使用 node.js 按顺序列出目录的内容?

python - 如何输出列表中所有字符串的第一个字符?

javascript - 如何在导航到另一个页面后保留数组

出现错误的Java代码

r - 如何从观察者修改reactiveValues列表元素的名称?

css - 显示表格单元格不起作用的垂直居中图像

css - 带有可滚动内容的嵌套粘性侧边栏

html - 控制 "top half"行高

html - 如何将右侧div设置为左侧img的高度

html - 其他伪元素在悬停时忽略父元素 'overflow: hidden'