цвет навбара в Twitter Bootstrap
Как изменить цвет фона навигационной панели загрузчика Twitter 2.0.2? Как я могу изменить цвет всех элементов навигационной панели, чтобы отразить цвет фона?
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 версии 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; }
Я также изменил подобные ошибки проверки таким же образом.