Bootstrap v4.3.1 中徽章的类是
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25rem;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
要更改其颜色,我们可以添加以下类
.badge-success {
color: #fff;
background-color: #28a745;
}
逻辑会说,如果我想制作自己的颜色,我可以在我的 css 文件中创建一个新类,就像这样
.badge-mine {
color: #212529;
background-color: #808080;
}
当它起作用时它应该起作用......
<span class="badge badge-success">test</span>
那么这也应该有效,但它不起作用,即使它们看起来相同。
<span class="badge badge-mine">test</span>
我检查了很多答案,但似乎没有人回答为什么我们不能这样做。虽然,我不是 CSS 专家,但我知道最后一个命令会覆盖前一个命令,即这应该覆盖
color: #212529;
background-color: #808080;
这个
color: #fff;
background-color: #28a745;
但由于某种原因,这里没有发生。
一些 Bootstrap 4 专家能否解释一下为什么徽章矿井不起作用,尽管它看起来几乎与徽章成功一模一样?
谢谢
它应该按您的预期工作。但如果你的两个徽章
<span class="badge badge-success">test</span>
<span class="badge badge-mine">test</span>
看起来相同,问题出在其他地方,如果您的徽章没有作为类,则它不能具有相同样式的 .badge-success 。 无论如何,CSS 类优先级主要取决于它们的具体程度。 例如
.badge.badge-success {
background-color: red;
}
覆盖
.badge-success {
background-color: green
}
您可以通过添加 !important 到 css 参数来覆盖此行为,例如
background-color: red!important;
嗯,它似乎确实按预期工作:
.badge-mine {
color: #212529;
background-color: #808080;
}
.badge-mine-2 {
color: #ff3300;
background-color: #0022ff;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<span class="badge badge-mine">test</span>
<span class="badge badge-mine-2">test</span>
您可以用这个自定义引导徽章颜色...
.red {
background-color: red;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"/>
<p class="badge red">test</p>