【发布时间】:2015-09-11 16:43:17
【问题描述】:
是否有现代的 CSS 解决方案来改变项目符号的颜色?
它应该适用于所有类型的子弹。
光盘样式
十进制样式
等
我的列表如下所示:
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Lorem ipsum dolor sit amet</li>
</ul>
我无法更改此标记。
请不要给出这样的解决方案:
<ul>
<li><span>Lorem ipsum dolor sit amet</span></li>
<li><span>Lorem ipsum dolor sit amet</span></li>
</ul>
li {
color: red; /* bullet color */
}
li span {
color: black; /* text color */
}
这需要更改标记
或
li:before {
content: "• ";
color: red;
}
这仅适用于一种列表样式类型
【问题讨论】:
-
使用您在上一个示例中提出的解决方案类型有什么问题?毕竟,编号列表和项目符号列表是不同的野兽——一个的元素用
<ul>包裹,另一个的元素用<ol>包裹。如果您准备为ul元素和ol元素设置不同的规则,那么纯 CSS 解决方案是微不足道的。 -
是的,没错。我忘了补充。对于十进制枚举,我有
- ... 标记。但是对于
- ... 有不同的列表样式类型。
- ... 标记。但是对于
-
当然,那么您如何区分不同
ul列表的不同期望输出? -
他们有不同的类。
-
那么大概,他们都已经有了针对他们的 css 规则。我只是将相关的属性放入这些规则中并完成它。我看到你已经接受了一个答案,所以我想你已经得到了一个令人满意的解决方案。无论如何,我刚刚发现了
li规则的几个属性,我以前不知道,干杯。 :) 这是我用于ol及其项目的两个 -ol { counter-reset: item }和ol li:before{ content: counter(item) ". "; counter-increment: item; color: red;}