Twitter Bootstrap의 navbar 색상


113

Twitter Bootstrap 2.0.2의 navbar 배경색을 어떻게 변경할 수 있습니까? 배경색을 반영하기 위해 navbar의 모든 요소의 색상을 어떻게 변경할 수 있습니까?


1
해결되었습니다. bootstrap.css .navbar-inner {background-color : # 2c2c2c; 배경색을 변경하고 다른 모든 것에 주석을 달았습니다. 감사.
Gattoo

12
스타일 시트를 업데이트하면 모든 변경 사항이 손실되므로 필요한 수정 사항을 자신의 스타일 시트에 포함 시키므로 부트 스트랩 기본 CSS 스타일 시트를 수정하지 않는 것이 좋습니다.
Andres Ilich 2012 년

Andres에게 감사합니다. 부트 스트랩의 동작을 변경하는 다른 방법은 무엇입니까? navbar는 사람들이 웹이 기능만큼이나 미학에 좋다고 믿을 수 없기 때문에 대부분의 사이트에서 고통입니다.
Gattoo

4
실제로 자신의 스타일 시트에있는 대부분의 부트 스트랩 규칙을 덮어 쓸 수 있습니다. bootstrap.css 스타일 시트를 전혀 건드리지 않아도됩니다. 이렇게하면 부트 스트랩이 업데이트 될 때 바로 업데이트 할 수 있으며 모든 변경 사항이 그대로 유지되며, 이러한 방식으로 사이트의 요구 사항 (글꼴 또는 색상)에 맞게 부 스트랩 스타일을 덮어 쓸 수 있습니다.
Andres Ilich 2012 년

답변:


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 2012-07-17

2
@DamianNowak woh, 방금 팁을 주셔서 감사합니다 : D 궁극적 인 두뇌 방귀.
Andres Ilich 2012-07-17

감사합니다. 배경색을 무엇이든 설정할 수없고 전체 navbar에 적용 할 수 없다는 것이 나를 미치게 만들었습니다.
Automatico

30

테마 부트 스트랩 방법을 볼 수있는 훌륭한 리소스는 bootswatch.com 입니다. 멋진 예제와 코드도 보여줍니다. 간단히 말해 lessc를 사용하여 bootstrap.css를 새 color-theme.css로 다시 컴파일합니다. 그들의 접근 방식의 좋은 점은 부트 스트랩 위에 빌드하는 것이므로 부트 스트랩이 업데이트되면 다시 컴파일하면됩니다.

lessc 및 부트 스트랩 사용에 대한 링크 :


멋진 자원 알렉산더. 감사합니다.
Gattoo

1
bootswatch 링크 : 감사합니다
Jiwan 샤르마 Akshat

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-inner가 더 이상 존재하지 않는 것처럼 보입니다.

.navbar-inner 재정의를 제안하는 솔루션은 저에게 효과가 없었습니다. 색상은 동일하게 유지되었습니다.

색상은 아래와 같이 .navbar를 덮어 쓸 때만 변경되었습니다.

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

3

현재 동일한 작업을 수행하는 가장 좋은 방법은 다음을 사용하여 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

LESS를 사용하는 경우 더 적은 코드로 Mixins를 사용할 수 있습니다. 여기에 그라디언트, 테두리 및 테두리 반경을 추가합니다.

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

* rails gem, 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

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'속성 선언을 제거해야합니다.


1

occam의 면도칼은 더 복잡한 것이 필요할 때까지 이렇게하도록 말하지 않습니까? 약간의 해킹이지만 빠른 수정을 원하는 사람의 요구에 적합 할 수 있습니다.

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

1

LESS 또는 SASS 버전의 부트 스트랩을 사용하는 경우. 가장 효율적인 방법은 LESS 또는 SASS 파일에서 변수 이름을 변경하는 것입니다.

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

이것은 Bootstraps Navbar를 변경하는 가장 쉽고 효율적인 방법입니다. 재정의를 작성할 필요가 없으며 코드는 깨끗하게 유지됩니다.



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;
}

또한 같은 방식으로 유효성 검사 오류를 변경했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.