bootstrap/scss/_badge.scss
Jon Wolski f07d870381
Remove color property from badge class
I suggest removing `color: #FFF` from the `badge` class, because it is
provided by the `badge-<modifier>` classes along with a
background-color, whereas there is no corresponding background-color
provided on the `badge` class itself.

Background
----------

According to the documentation:

> [badge] Requires one of the contextual, color modifier classes for `color` and
> `background-color`.

That is, color and background color should be provided by a modifier
class, rather than the badge class itself.

e.g. `<span class='badge badge-primary'>4</span>`

In general, providing a `color` property without also providing a
`background-color` should be avoided. [W3 QA tips]

In this context, this is a problem only if someone creates a `badge`
without providing a modifier. Such an omition may be difficult to trouble-shoot,
because this will most likely yield white text on a white background.

[W3 QA tips](https://www.w3.org/QA/Tips/color)
2017-08-18 09:35:00 -05:00

48 lines
962 B
SCSS

// Base class
//
// Requires one of the contextual, color modifier classes for `color` and
// `background-color`.
.badge {
display: inline-block;
padding: $badge-padding-y $badge-padding-x;
font-size: $badge-font-size;
font-weight: $badge-font-weight;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
@include border-radius();
// Empty badges collapse automatically
&:empty {
display: none;
}
}
// Quick fix for badges in buttons
.btn .badge {
position: relative;
top: -1px;
}
// Pill badges
//
// Make them extra rounded with a modifier to replace v3's badges.
.badge-pill {
padding-right: $badge-pill-padding-x;
padding-left: $badge-pill-padding-x;
@include border-radius($badge-pill-border-radius);
}
// Colors
//
// Contextual variations (linked badges get darker on :hover).
@each $color, $value in $theme-colors {
.badge-#{$color} {
@include badge-variant($value);
}
}