想要为列表项的标记设置样式是完全合理的。您知道:无序列表中带有黑色文本的蓝色项目符号。或者有序列表中带有白色数字的红色计数器。
有一个 正在制定的规范草案,它定义了一个 ::marker
伪元素,可以让我们控制这一点。
/* Not supported anywhere; subject to change */
li::marker {
color: blue;
}
不过,现在可以通过 CSS 计数器实现这种样式设置。诀窍是删除 list-style
,然后通过伪元素计数器应用标记。
ol {
list-style: none;
counter-reset: my-awesome-counter;
}
li {
counter-increment: my-awesome-counter;
}
li::before {
content: counter(my-awesome-counter);
/* Style away! */
}
查看 CodePen 上 Chris Coyier (@chriscoyier) 的笔 带样式的列表计数器。
这真是太迟了。我不敢相信到今天为止,仍然没有办法以原生方式使用短横线为列表设置样式。
同时,如果我已经加载了 jQuery,我会这样做……
当文本长度超过容器时,示例会中断。
试试这个样式 – http://codepen.io/_lukewh/pen/WopzzO :)
很棒的文章!不过,我建议对样式做一些更改。目前,如果列表项换行,文本会包裹在计数器下方,而您可以绝对定位计数器到标签,并相应地为标签添加一些填充 :)
(在手机上或 ID 发布 CodePen 分支!)