::marker 伪元素用于修改列表项标记样式,如颜色、字体大小,主要应用于 li 元素;支持 color、font-size 等有限属性,不可设置 margin、padding;可通过 content 配合 counter() 定制有序列表标记,但浏览器支持弱;推荐使用 list-style: none 结合 ::before 实现更灵活的自定义效果。

在CSS中,::marker 伪元素可以用来修改列表项前的标记符号样式,比如改变颜色、字体大小、内容等。它主要应用于 ul、ol 中的 li 元素前面的圆点或数字。
::marker 只能用于具有自动计数器或默认标记的元素,最常见的就是 li 元素。不能随意用在其他非列表项元素上。
注意:不能设置 width、padding、margin 等布局属性。
最常见需求是改变标记的颜色和大小,使其更符合页面设计风格。
立即学习“前端免费学习笔记(深入)”;
示例代码:
li::marker {
color: #e74c3c;
font-size: 1.2em;
font-weight: bold;
}
这样无序列表的圆点或有序列表的数字都会变成红色并加大显示。
虽然标准中允许使用 content 更改标记内容,但目前浏览器对 ::marker 使用 content 支持较弱,尤其是无序列表的圆点无法直接替换成文字或图标。
不过对于有序列表,可以通过 counter() 配合 content 实现一些定制效果:
ol li::marker {
content: "第" counter(list-item) "章:";
}
如果需要更强的控制力,比如把项目符号换成图标、emoji 或复杂文本,推荐使用 ::before 并取消默认标记。
ul {
list-style: none; /* 去掉默认圆点 */
padding-left: 0;
}
<p>li::before {
content: "? ";
color: #3498db;
}</p>这种方式兼容性好,灵活性高,适合大多数实际开发场景。
基本上就这些。::marker 是一个轻量级方式美化原生列表标记,但在需要深度定制时,还是推荐用 list-style:none 搭配 ::before 来实现。
以上就是如何在CSS中使用::marker修改列表符号样式_自定义列表标记的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号