答案 0 :(得分:1)
为了别人的利益回答我自己的问题。
最近我创建了一个使用css的徽章系统,可以应用于任何html元素。
我希望这可以帮助其他寻找类似内容的人。
这是使用在host元素之后应用的css伪元素完成的。只需添加带有值的badge
属性即可将徽章应用于任何元素。
如果徽章的默认位置/样式不合适,某些主机元素可能需要添加替换。
伪元素的content继承自属性badge
。
如果没有给出值,0
或negative
值,则默认情况下不会显示徽章。如果您需要显示带有0
或negative
值的徽章,请使用css覆盖或删除css文件中的规则。
覆盖示例;
.my-unusual-element[badge="0"]:after {
display: initial;
}
这是一个仅限CSS的解决方案,旨在成为轻量级徽章系统。
我在这里发布了一个小提琴演示。
[badge]:after {
background: red;
border-radius: 30px;
color: #fff;
content: attr(badge);
font-size: 11px;
margin-top: -10px;
min-width: 20px;
padding: 2px;
position: absolute;
text-align: center;
}
[badge^="-"]:after,
[badge="0"]:after,
[badge=""]:after {
display: none;
}

<span badge="">Empty string</span>
<br>
<br>
<span badge="-1">-1</span>
<br>
<br>
<span badge="0">0</span>
<br>
<br>
<span badge="1">1</span>
&#13;