Odpowiedzi:
Po prostu dodaj tę jednoliniową klasę do swojego CSS i użyj label
komponentu bootstrap .
.label-as-badge {
border-radius: 1em;
}
Porównaj to label
i badge
obok siebie:
<span class="label label-default label-as-badge">hello</span>
<span class="badge">world</span>
Wyglądają tak samo. Ale w CSS label
używa, em
więc ładnie się skaluje i nadal ma wszystkie klasy „-color”. Tak więc etykieta lepiej skaluje się do większych rozmiarów czcionek i może być pokolorowana za pomocą sukcesu etykiety, ostrzeżenia etykiety itp. Oto dwa przykłady:
<span class="label label-success label-as-badge">Yay! Rah!</span>
Lub gdzie rzeczy są większe:
<div style="font-size: 36px"><!-- pretend an enclosing class has big font size -->
<span class="label label-success label-as-badge">Yay! Rah!</span>
</div>
16.11.2015 : Patrząc, jak to zrobimy w Bootstrap 4
Wygląda na to, że .badge
zajęć już nie ma. Ale jest wbudowana .label-pill
klasa (tutaj), która wygląda tak, jak chcemy.
.label-pill {
padding-right: .6em;
padding-left: .6em;
border-radius: 10rem;
}
W użyciu wygląda to tak:
<span class="label label-pill label-default">Default</span>
<span class="label label-pill label-primary">Primary</span>
<span class="label label-pill label-success">Success</span>
<span class="label label-pill label-info">Info</span>
<span class="label label-pill label-warning">Warning</span>
<span class="label label-pill label-danger">Danger</span>
11.04.2014 : Oto aktualizacja, dlaczego klasy alertów zapylania krzyżowego .badge
nie są tak świetne. Myślę, że to zdjęcie podsumowuje:
Te klasy alarmowe nie zostały zaprojektowane tak, aby pasowały do nich odznaki. Renderuje je z „wskazówką” zamierzonych kolorów, ale w końcu spójność jest wyrzucana przez okno, a czytelność jest wątpliwa. Te zhakowane czujnie odznaki nie są spójne wizualnie.
.label-as-badge
Roztwór wystaje tylko konstrukcję startowej. Utrzymujemy nienaruszone wszystkie decyzje podejmowane przez projektantów bootstrap, a mianowicie uwzględnienie czytelności i spójności wszystkich możliwych kolorów, a także samych wyborów kolorów. .label-as-badge
Klasa dodaje tylko zaokrąglone narożniki i nic innego. Nie wprowadzono definicji kolorów. Zatem pojedyncza linia CSS.
Tak, łatwiej jest po prostu zhakować i upuścić te .alert-xxxxx
klasy - nie musisz dodawać żadnych linii CSS. Albo mógłby bardziej troszczą się o małe rzeczy i dodać jedną linię.
list-group
Ze badges
jest ładny out-of-the-box cechą startowej. Dla obserwujących wygląda to tak: getbootstrap.com/components/#list-group-badges
.list-group-item > .label-as-badge { float: right; } .list-group-item > .label-as-badge + .label-as-badge { margin-right: 5px; }
.label-as-badge { border-radius: 1em; padding: 3px 7px; }
W skrócie: Zamień na badge-important
jeden alert-danger
lub progress-bar-danger
.
Wygląda to tak: Bootply Demo .
Możesz połączyć klasę CSS badge
z alert-*
lub progess-bar-*
pokolorować je:
Z class="badges alert-*"
<span class="badge alert-info">badge</span> Info
<span class="badge alert-success">badge</span> Success
<span class="badge alert-danger">badge</span> Danger
<span class="badge alert-warning">badge</span> Warning
Alerty Docu: http://getbootstrap.com/components/#alerts
Z class="badges progress-bar-*"
(zgodnie z sugestią @ clami219)
<span class="badge progress-bar-info">badge</span> Info
<span class="badge progress-bar-success">badge</span> Success
<span class="badge progress-bar-danger">badge</span> Danger
<span class="badge progress-bar-warning">badge</span> Warning
Pasek postępu: http://getbootstrap.com/components/#progress-alternatives
Bootstrap 3 usunął te opcje kolorów dla odznak. Możemy jednak dodać te style ręcznie. Oto moje rozwiązanie, a oto JS Bin :
.badge {
padding: 1px 9px 2px;
font-size: 12.025px;
font-weight: bold;
white-space: nowrap;
color: #ffffff;
background-color: #999999;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
border-radius: 9px;
}
.badge:hover {
color: #ffffff;
text-decoration: none;
cursor: pointer;
}
.badge-error {
background-color: #b94a48;
}
.badge-error:hover {
background-color: #953b39;
}
.badge-warning {
background-color: #f89406;
}
.badge-warning:hover {
background-color: #c67605;
}
.badge-success {
background-color: #468847;
}
.badge-success:hover {
background-color: #356635;
}
.badge-info {
background-color: #3a87ad;
}
.badge-info:hover {
background-color: #2d6987;
}
.badge-inverse {
background-color: #333333;
}
.badge-inverse:hover {
background-color: #1a1a1a;
}
Klasy kontekstu dla badge
są rzeczywiście usunięte z Bootstrap 3, więc musisz dodać niestandardowy CSS, aby uzyskać taki sam efekt jak ...
.badge-important{background-color:#b94a48;}
Innym możliwym sposobem, aby kolory były nieco bardziej intensywne, jest ten:
<span class="badge progress-bar-info">10</span>
<span class="badge progress-bar-success">20</span>
<span class="badge progress-bar-warning">30</span>
<span class="badge progress-bar-danger">40</span>
Zobacz Bootply
Jeśli używasz wersji SASS (np. Thomas-mcdonald's ), możesz chcieć być nieco bardziej dynamiczny (honorować istniejące zmienne) i tworzyć wszystkie konteksty znaczków przy użyciu tej samej techniki, co w przypadku etykiet:
// Colors
// Contextual variations of badges
// Bootstrap 3.0 removed contexts for badges, we re-introduce them, based on what is done for labels
.badge-default {
@include label-variant($label-default-bg);
}
.badge-primary {
@include label-variant($label-primary-bg);
}
.badge-success {
@include label-variant($label-success-bg);
}
.badge-info {
@include label-variant($label-info-bg);
}
.badge-warning {
@include label-variant($label-warning-bg);
}
.badge-danger {
@include label-variant($label-danger-bg);
}
Odpowiednik LESS powinien być prosty.
Podobnie jak powyższa odpowiedź, ale tutaj używa się nazw i kolorów bootstrap 3:
/*css to add back colours for badges and make use of the colours*/
.badge-default {
background-color: #999999;
}
.badge-primary {
background-color: #428bca;
}
.badge-success {
background-color: #5cb85c;
}
.badge-info {
background-color: #5bc0de;
}
.badge-warning {
background-color: #f0ad4e;
}
.badge-danger {
background-color: #d9534f;
}
Korzystając z wersji LESS, możesz importować mixins.less i tworzyć własne klasy kolorowych odznak:
.badge-warning {
.label-variant(@label-warning-bg);
}
To samo dla innych kolorów; po prostu zamień ostrzeżenie na niebezpieczeństwo, sukces itp.
Cóż, to jest strasznie późna odpowiedź, ale myślę, że wciąż będę wrzucał moje dwa centy ... Mogłem zamieścić to jako komentarz, ponieważ ta odpowiedź zasadniczo nie dodaje żadnego nowego rozwiązania, ale dodaje wartość postowi jako kolejna alternatywa. Ale w komentarzu nie byłbym w stanie podać wszystkich szczegółów ze względu na limit znaków.
UWAGA: To wymaga edycji, aby załadować plik CSS - przenieś definicje stylów .badge
powyżej .label-default
. Nie mogłem znaleźć żadnych praktycznych skutków ubocznych ze względu na zmianę w moich ograniczonych testach.
Chociaż rozwiązanie broc.seib jest prawdopodobnie najlepszym sposobem na osiągnięcie wymogu OP przy minimalnym dodatku do CSS, możliwe jest osiągnięcie tego samego efektu bez żadnego dodatkowego CSS w ogóle, podobnie jak rozwiązanie Jensa A. Kocha lub za pomocą .label-xxx
klas kontekstowych, ponieważ są łatwe do zapamiętania w porównaniu do progress-bar-xxx
klas. Nie sądzę, że .alert-xxx
zajęcia dają taki sam efekt.
Wszystko, co musisz zrobić, to po prostu użyć .badge
i .label-xxx
klas razem (ale w tej kolejności). Nie zapomnij wprowadzić zmian wymienionych w UWAGA powyżej.
<a href="#">Inbox <span class="badge label-warning">42</span></a>
wygląda tak:
WAŻNE: To rozwiązanie może popsuć twoje style, jeśli zdecydujesz się na aktualizację i zapomnisz wprowadzić zmiany w nowym lokalnym pliku CSS. Moim rozwiązaniem dla tego wyzwania było skopiowanie wszystkich .label-xxx
stylów z mojego niestandardowego pliku CSS i załadowanie go po wszystkich innych plikach CSS. Takie podejście pomaga również, gdy używam CDN do ładowania BS3.
** PS: ** Obie najwyżej oceniane odpowiedzi mają swoje zalety i wady. To jest po prostu sposób, w jaki wolisz robić CSS, ponieważ nie ma „tylko właściwego sposobu”, aby to zrobić.
.danger
,.success
itd., Definicje stylów klasowych z pudełka dla ogólnych przypadków użycia takich jak ten.