цвет navbar в Twitter Bootstrap - PullRequest
       108

цвет navbar в Twitter Bootstrap

114 голосов
/ 26 марта 2012

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

Ответы [ 13 ]

134 голосов
/ 28 марта 2012

Вы можете перезаписать цвета начальной загрузки, включая класс .navbar-inner, указав его в своей собственной таблице стилей, в отличие от изменения таблицы стилей bootstrap.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 Gradient Editor и создавать свои собственные цвета градиента для всех браузеров и заменять оригинальные цвета на свои.

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

30 голосов
/ 28 марта 2012

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

Ссылки об использовании lessc и начальной загрузки:

6 голосов
/ 08 января 2013

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

Добавьте это выше, где вы визуализируете навигационную панель начальной загрузки 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>
4 голосов
/ 04 июля 2014

Я использую Bootstrap версии 3.2.0 и похоже, что .navbar-inner больше не существует.

Решения, предлагающие переопределение .navbar-inner, у меня не сработали- цвет остался прежним.

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

.navbar {
    background-color: #A4C8EC;
    background-image: none;
}
4 голосов
/ 24 августа 2012

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

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

3 голосов
/ 29 сентября 2012

Лучший способ сделать это сейчас - установить компилятор командной строки LESS, используя

$ npm install -g less jshint recess uglify-js

Как только вы это сделаете, перейдите в папку less в каталоге, а затем отредактируйте файл variables.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.

2 голосов
/ 03 июля 2013

это то, что я делаю

.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 на вершине

2 голосов
/ 31 мая 2012

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

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

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

1 голос
/ 04 марта 2015

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

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

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

1 голос
/ 19 апреля 2014

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

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