колір навбар у Twitter Bootstrap


113

Як я можу змінити колір фону в нижній частині панелі Twitter Bootstrap 2.0.2? Як я можу змінити колір усіх елементів навігації, щоб відобразити колір фону?


1
Вирішено. Внесено зміни в bootstrap.css .navbar-inner {background-color: # 2c2c2c; змінив колір тла, прокоментував усе інше. Дякую.
Gattoo

12
не рекомендую змінювати основний таблицю стилів завантажувального файлу завантажувача просто тому, що коли ви оновите таблицю стилів, всі ваші зміни будуть втрачені, тому просто включіть будь-яку модифікацію, яка вам потрібна, у ваш власний таблицю стилів.
Андрес Ілліч

Дякую Андресу, які інші способи змінити поведінку Bootstrap? Навбар - це біль для більшості сайтів, оскільки люди просто не в змозі повірити, що Інтернет настільки ж хороший для естетики, як і для функціональності.
Gattoo

4
Ви можете фактично перезаписати більшість правил завантажувальної програми у вашій власній таблиці стилів, вам взагалі не потрібно торкатися таблиці стилів bootstrap.css. Таким чином, коли оновлення завантажувача буде оновлено, ви можете просто оновити це відразу, і всі ваші зміни залишаться, а також таким чином ви можете перезаписати стилі завантаження відповідно до ваших потреб (будь то шрифти чи кольори) вашого сайту.
Андрес Ілліч

Набагато простіша відповідь: stackoverflow.com/questions/18529274/…
Кріс Джонсон

Відповіді:


134

Ви можете перезаписати кольори завантажувальної програми, включаючи .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. Але не забудьте перезаписати всі відповідні властивості, щоб мати послідовність у веб-переглядачах.


2
background-image: none;шість разів?
Nowaker

2
@DamianNowak о, тільки що помітив, дякую за підказку: D ultimate головний мозок.
Андрес Ілліч

Дякую. Мене зводило з розуму, що я не можу встановити фоновий колір ні до чого, і змусити його застосувати до всього навбар.
Automatico

30

Чудовий ресурс, щоб дізнатися, як тематизувати завантажувальний інструмент, це: bootswatch.com . У ньому є приємні приклади, а також показаний код. Коротше кажучи, вони використовують lessc для перекомпіляції bootstrap.css у ваш новий color-theme.css. Приємним їх підходом є те, що будується на версі завантажувального пристрою, тому коли оновлення завантажується, ви просто перекомпілюєте.

Посилання про використання lessc та завантажувального пристрою:


Чудові ресурси Олександр. Дуже дякую.
Gattoo

1
Дякуємо за посилання для перегляду чобіт :)
Akshat Jiwan Sharma

6

Якщо у вас немає часу навчитися «менше» або зробити це належним чином, ось брудний злом ...

Додайте це вище, де ви візуєте 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

Я використовую Bootstrap версії 3.2.0, і схоже, що .navbar-Internal вже не існує.

Тут вирішення, які передбачають переосмислення .navbar-Internal, для мене не спрацювали - колір залишився колишнім.

Колір змінився лише коли я переоцінив .navbar, як показано нижче:

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

3

В даний час найкращим способом зробити це було б встановити компілятор командних рядків LESS за допомогою

$ npm install -g less jshint recess uglify-js

Після цього перейдіть до папки менше в каталозі, а потім відредагуйте файл 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

Якщо ви використовуєте менше, ви можете використовувати Mixins за менший код. Тут я додаю градієнт, межу та радіус межі:

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

* Якщо ви використовуєте gem rails, twitter-bootstrap-rails, я роблю це безпосередньо у файлі bootstrap_and_overrides.css.less *


2

це те, що я роблю

.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 вгорі


1

У рядку 4784 bootstrap.css ми бачимо:

.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'.


1

Хіба б бритва окама не сказала просто зробити це, поки не знадобиться щось складніше? Це трохи хак, але може відповідати потребам того, хто хоче швидко виправити.

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

1

Якщо ви використовуєте Менше або SASS версії завантажувального пристрою. Найефективнішим способом є зміна імені змінної у файлі МЕНШИЙ або SASS.

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

Це, безумовно, найпростіший та найефективніший спосіб змінити Navbar Bootstraps. Не потрібно писати зміни, і код залишається чистим.



0

Я фактично просто переписую все, що хочу змінити на site.css, ви повинні завантажити site.css після завантаження, щоб він перезаписав класи. Що я зараз зробив - це просто власні заняття з власною маленькою темою завантаження. Такі дрібниці

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

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

Я також змінив лайки помилок перевірок аналогічно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.