规范指定,可以使用伪元素"marker"来修改列表项(li
)标记,例如:
li::marker { color: blue; }
但是我似乎无法在任何浏览器中使其工作。
是否有任何浏览器支持它?或者我做错了什么?
规范指定,可以使用伪元素"marker"来修改列表项(li
)标记,例如:
li::marker { color: blue; }
但是我似乎无法在任何浏览器中使其工作。
是否有任何浏览器支持它?或者我做错了什么?
2021更新:所有现代浏览器都已经添加了对::marker
的支持。
color
和font
)https://developer.mozilla.org/en-US/docs/Web/CSS/::marker#browser_compatibility
::marker
的定义中存在“流量”。 - Rob虽然没有浏览器支持该规范,但Firefox有自己的实现方式:
li::-moz-list-bullet {
color:blue;
}
这是一个关于Firefox浏览器的错误报告。该错误描述了在使用Firefox时,当用户调整字体大小或缩放页面时,页面上的某些元素可能会变形或错位。此错误已被确认并将在未来版本中进行修复。
:before
代替吗?li {
display: block;
list-style-position: inside;
margin: 0;
}
li:before {
content:" • ";
color: green;
}
你无法单独更改标记的颜色,但是你可以使用list-style-image更改其图像,请参见此处。解决方法:
<ul><li style="color:blue;"><span style="color:black">test</span></li></ul>
没有浏览器支持此功能,但可以使用(list-style-type:和list-style-image)属性或伪类before和after。