цвет навбара в Twitter Bootstrap


Как изменить цвет фона навигационной панели загрузчика Twitter 2.0.2? Как я могу изменить цвет всех элементов навигационной панели, чтобы отразить цвет фона?

13 114

13 ответов:

Вы можете перезаписать цвета начальной загрузки, включая класс .navbar-inner, настроив его в своей собственной таблице стилей, а не изменяя начальную загрузку.таблица стилей css, например:

.navbar-inner {
  background-color: #2c2c2c; /* fallback color, place your own */

  /* Gradients for modern browsers, replace as you see fit */
  background-image: -moz-linear-gradient(top, #333333, #222222);
  background-image: -ms-linear-gradient(top, #333333, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
  background-image: -webkit-linear-gradient(top, #333333, #222222);
  background-image: -o-linear-gradient(top, #333333, #222222);
  background-image: linear-gradient(top, #333333, #222222);
  background-repeat: repeat-x;

  /* IE8-9 gradient filter */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
}

Вам просто нужно изменить все эти стили своими собственными, и они будут подобраны, как что-то вроде этого, например, где я исключаю все эффекты градиента и просто устанавливаю сплошной черный фон-цвет:

.navbar-inner {
  background-color: #000; /* background color will be black for all browsers */
  background-image: none;
  background-repeat: no-repeat;
  filter: none;
}

Вы можете воспользоваться такими инструментами, как градиент Colorzilla Редактор и создайте свои собственные градиентные цвета для всех браузеров и замените исходные цвета своими собственными.

И, как я уже упоминал в комментариях, я бы не рекомендовал вам изменять bootstrap.css stylesheet напрямую, так как все ваши изменения будут потеряны, как только таблица стилей будет обновлена (текущая версия v2.0.2) поэтому предпочтительно, чтобы вы включили все свои изменения в свою собственную таблицу стилей, в тандеме с загрузкой.таблица стилей css. Но не забудьте переписать все соответствующие свойства должны иметь согласованность между браузерами.

Отличный ресурс, чтобы увидеть, как тема bootstrap является: bootswatch.com . он имеет хорошие примеры и показывает код, а также. Короче говоря, они используют lessc для перекомпиляции bootstrap.css к вашей новой цветовой теме.CSS. Хорошая вещь их подхода заключается в том, что он строится поверх bootstrap, поэтому, когда bootstrap обновляется, вы просто перекомпилируете.

Ссылки на использование lessc и bootstrap:

Если у вас нет времени, чтобы узнать "меньше" или сделать это правильно, вот грязный хак...

Добавьте это выше, где вы визуализируете bootstrap nav bar HTML-обновите цвета по мере необходимости..

<style type="text/css">   

.navbar-inner {
    background-color: red;
    background-image: linear-gradient(to bottom, blue, green);
    background-repeat: repeat-x;
    border: 1px solid yellow;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067);
    min-height: 40px;
    padding-left: 20px;
    padding-right: 20px;
}

.dropdown-menu {
    background-clip: padding-box;
    background-color: red;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px 6px 6px 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    display: none;
    float: left;
    left: 0;
    list-style: none outside none;
    margin: 2px 0 0;
    min-width: 160px;
    padding: 5px 0;
    position: absolute;
    top: 100%;
    z-index: 1000;
}

.btn-group.open .btn.dropdown-toggle {
  background-color: red;
}

.btn-group.open .btn.dropdown-toggle {
  background-color:lime;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  color:white;
  background-color:Teal;
}

.navbar .nav > li > a {
    color: white;
    float: none;
    padding: 10px 15px;
    text-decoration: none;
    text-shadow: 0 0px 0 #ffffff;
}

.navbar .brand {
  display: block;
  float: left;
  padding: 10px 20px 10px;
  margin-left: -20px;
  font-size: 20px;
  font-weight: 200;
  color: white;
  text-shadow: 0 0px 0 #ffffff;
}

.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
  color: white;
  text-decoration: none;
  background-color: transparent;
}

.navbar-text {
  margin-bottom: 0;
  line-height: 40px;
  color: white;
}

.dropdown-menu li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 20px;
  color: white;
  white-space: nowrap;
}

.navbar-link {
  color: white;
}

.navbar-link:hover {
  color: white;
}

</style>

Вы можете скачать пользовательскую версию bootstrap и установить @navbarBackground в нужный цвет.

Http://twitter.github.com/bootstrap/customize.html

Я использую Bootstrap версии 3.2.0, и это выглядит так .навбар-Иннер больше не существует.

Решения здесь, которые предполагают переопределение .навбар-Иннер у меня не работал-цвет остался прежним.

Цвет изменился только тогда, когда я переехал .navbar, как показано ниже:

.navbar {
    background-color: #A4C8EC;
    background-image: none;
}

Лучший способ в настоящее время сделать то же самое-установить меньше компилятора командной строки с помощью

$ npm install -g less jshint recess uglify-js

После этого перейдите в папку less в каталоге и отредактируйте переменные файла.меньше, и вы можете изменить множество переменных в соответствии с тем, что вам нужно, включая цвет панели навигации

@navbarCollapseWidth:             979px;

@navbarHeight:                    40px;
@navbarBackgroundHighlight:       #ffffff;
@navbarBackground:                darken(@navbarBackgroundHighlight, 5%);
@navbarBorder:                    darken(@navbarBackground, 12%);

@navbarText:                      #777;
@navbarLinkColor:                 #777;
@navbarLinkColorHover:            @grayDark;
@navbarLinkColorActive:           @gray;
@navbarLinkBackgroundHover:       transparent;
@navbarLinkBackgroundActive:      darken(@navbarBackground, 5%);

После того как вы сделали это, перейдите в ваш загрузочный каталог и выполните команду make.

Если вы используете меньше, вы можете использовать Mixins для меньшего количества кода. Здесь я добавлю градиент, границу и радиус границы:

.navbar-inner {
  #gradient > .vertical(#ffffff, #ECECEC);
  border: #E2E2E2;
  .border-radius(6px);
}

*Если вы используете rails gem, twitter-bootstrap-rails, я делаю это непосредственно в файле bootstrap_and_overrides.CSS.меньше*

Вот что я делаю

.navbar-inverse .navbar-inner {
  background-color: #E27403; /* it's flat*/
 background-image: none;
}

.navbar-inverse .navbar-inner {
  background-image: -ms-linear-gradient(top, #E27403, #E49037);
  background-image: -webkit-linear-gradient(top, #E27403, #E49037);
  background-image: linear-gradient(to bottom, #E27403, #E49037);
}

Он хорошо работает для всех навигаторов вы можете посмотреть демо здесь http://caverne.fr сверху

В bootstrap.css строка 4784 мы видим:

.navbar-inverse .navbar-inner {
  background-color: #FFFFFFF;
  background-image: -moz-linear-gradient(top, #222222, #111111);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
  background-image: -webkit-linear-gradient(top, #222222, #111111);
  background-image: -o-linear-gradient(top, #222222, #111111);
  background-image: linear-gradient(to bottom, #222222, #111111);
  background-repeat: repeat-x;
  border-color: #252525;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
}

Вам нужно удалить все объявления свойств 'background-image', чтобы получить желаемый эффект.

Разве бритва Оккама не говорит, что нужно просто делать это, пока не понадобится что-то более сложное? Это немного хак, но может удовлетворить потребности тех, кто хочет быстро исправить ситуацию.

.navbar-default .container-fluid{
    background-color:#62ADD7; // Change the color
    margin: -1px -1px 10px -1px; // Get rid of the border
}

Если вы используете версию Bootstrap LESS или SASS. Наиболее эффективный способ-изменить имя переменной в файле LESS или SASS.

$navbar-default-color:              #FFFFFF !default;
$navbar-default-bg:                 #36669d !default;
$navbar-default-border:             $navbar-default-bg !default;

Это на сегодняшний день самый простой и самый эффективный способ изменить загрузочную панель Navbar. Вам не нужно писать переопределения, и код остается чистым.

Вы можете настроить свою собственную версию на официальном сайте Bootstrap.

На самом деле я просто перезаписываю все, что хочу изменить на сайте.css, вы должны загрузить сайт.в CSS после начальной загрузки, так как это приведет к перезаписи классы. То, что я сделал сейчас, это просто сделал мои собственные классы с моей собственной маленькой загрузочной темой. Такие мелочи, как эта

.navbar-nav li a{
    color: #fff;
    font-size: 15px;
    margin-top: 9px;
}
.navbar-nav li a:hover{

    background-color: #18678E;
    height: 61px;
}

Я также изменил подобные ошибки проверки таким же образом.