Twitter Bootstrap 3.0 как мне "значка значка важно" сейчас
В версии два я мог использовать
Значок значка - важно
Я вижу, что элемент .badge больше не имеет контекстных (-success, -primary и т.д.) классов.
Как мне достичь той же цели в версии 3?
Eg. Я хочу значки предупреждения и важные значки в моем интерфейсе
Ответы
Ответ 1
Просто добавьте этот однострочный класс в свой CSS и используйте компонент bootstrap label
.
.label-as-badge {
border-radius: 1em;
}
Сравните это label
и badge
бок о бок:
<span class="label label-default label-as-badge">hello</span>
<span class="badge">world</span>
![enter image description here]()
Они выглядят одинаково. Но в CSS label
использует em
, поэтому он отлично масштабируется и все еще имеет все классы "-цвет". Таким образом, метка будет масштабироваться до большего размера шрифта и может быть окрашена ярлыком-успехом, предупреждением ярлыка и т.д. Вот два примера:
<span class="label label-success label-as-badge">Yay! Rah!</span>
![enter image description here]()
Или где вещи больше:
<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>
![enter image description here]()
11/16/2015: Посмотрим, как мы это сделаем в Bootstrap 4
Похоже, что классы .badge
полностью исчезли. Но есть встроенный .label-pill
класс (здесь), который выглядит так, как мы хотим.
.label-pill {
padding-right: .6em;
padding-left: .6em;
border-radius: 10rem;
}
При использовании он выглядит так:
<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: здесь обновлено, почему кросс-опыливающие классы предупреждений с .badge
не так велики. Я думаю, что это изображение подводит итог:
![enter image description here]()
Эти классы предупреждения не предназначены для использования с значками. Он отображает их с "намеком" о намеченных цветах, но в итоге консистенция выбрасывается из окна, и читаемость сомнительна. Эти брандмауэры с брандмауэром не являются визуально сплоченными.
Решение .label-as-badge
только расширяет дизайн бутстрапа. Мы не нарушаем все решения, принятые дизайнерами бутстрапов, а именно внимание, которое они уделяют читаемости и сплоченности во всех возможных цветах, а также сами цветовые решения. Класс .label-as-badge
добавляет только закругленные углы, и ничего больше. Внесены определения цвета. Таким образом, одна строка CSS.
Да, проще просто взломать и сбросить те классы .alert-xxxxx
- вам не нужно добавлять строки CSS. Или вы можете больше заботиться о мелочах и добавить одну строку.
Ответ 2
Вкратце: замените badge-important
на alert-danger
или progress-bar-danger
.
Он выглядит так: Демо-версия для загрузки.
Вы можете объединить CSS-класс badge
с alert-*
или progess-bar-*
, чтобы покрасить их:
С 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
Оповещения Docu: http://getbootstrap.com/components/#alerts
С class="badges progress-bar-*"
(как предложено @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
Progress-Bar Docu: http://getbootstrap.com/components/#progress-alternatives
Ответ 3
Bootstrap 3 удалил эти параметры цвета для значков. Однако мы можем добавить эти стили вручную. Здесь мое решение, и вот 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;
}
Ответ 4
Контекстные классы для badge
действительно удалены из Bootstrap 3, поэтому вам нужно добавить некоторый пользовательский CSS, чтобы создать тот же эффект, что и...
.badge-important{background-color:#b94a48;}
Ответ 5
Другим возможным способом, чтобы сделать цвета немного более интенсивными, является следующий:
<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>
См. Bootply
Ответ 6
Если вы используете версию SASS (например: thomas-mcdonald one), то вам может потребоваться немного более динамично (соблюдать существующие переменные) и создавать все контексты значков используя тот же метод, что и для меток:
// 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);
}
Меньший эквивалент должен быть простым.
Ответ 7
Как и ответ выше, но здесь используются имена и цвета 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;
}
Ответ 8
При использовании версии LESS вы можете импортировать mixins.less и создавать свои собственные классы для цветных значков:
.badge-warning {
.label-variant(@label-warning-bg);
}
То же самое для других цветов; просто замените предупреждение опасностью, успехом и т.д.
Ответ 9
Ну, это ужасно поздний ответ, но я думаю, что я все равно положу свои два цента... Я мог бы разместить это как комментарий, потому что этот ответ существенно не добавляет никакого нового решения, но он добавляет ценность на эту должность в качестве еще одной альтернативы. Но в комментарии я не смог бы дать все детали из-за ограничения характера.
ПРИМЕЧАНИЕ. Для этого требуется отредактировать файл bootstrap CSS - переместите определения стиля для .badge
выше .label-default
. Не удалось найти никаких практических побочных эффектов из-за изменения моего ограниченного тестирования.
Хотя решение broc.seib, вероятно, лучший способ достичь требования OP с минимальным добавлением к CSS, можно добиться такого же эффекта без каких-либо дополнительных CSS вообще, как решение Йенса А. Коха или используя контекстные классы .label-xxx
, потому что их легко запомнить по сравнению с классами progress-bar-xxx
. Я не думаю, что классы .alert-xxx
дают тот же эффект.
Все, что вам нужно сделать, это просто использовать классы .badge
и .label-xxx
вместе (но в этом порядке). Не забудьте внести изменения, упомянутые в ПРИМЕЧАНИЕ выше.
<a href="#">Inbox <span class="badge label-warning">42</span></a>
выглядит следующим образом:
![Значок с предупреждением bg]()
ВАЖНО: это решение может нарушить ваши стили, если вы решите обновить и забыть внести изменения в новый локальный файл CSS. Моим решением для этой задачи было скопировать все стили .label-xxx
в мой пользовательский файл CSS и загрузить его после всех других файлов CSS. Этот подход также помогает, когда я использую CDN для загрузки BS3.
** P.S: ** Оба лучших ответа имеют свои плюсы и минусы. Это так, как вы предпочитаете делать свой CSS, потому что для этого нет "только правильного пути".