트위터 부트 스트랩 버튼 스타일링


96

Twitter-Bootstrap 버튼은 놀랍도록 아름답습니다. 스크롤하여 사용해보십시오.

부트 스트랩 버튼 스크린 샷

그러나 그들은 색상이 제한되어 있습니다.

부트 스트랩이 너무 아름답고 쉽게 만들었던 아름다운 호버 오버 효과를 유지하면서 버튼의 기본 색상을 변경할 수있는 방법이 있습니까?

나는 트위터가 그 효과를 유지하기 위해 사용하는 CSS / JavaScript가 어떻게 보이는지 완전히 알지 못합니다.


7
버튼의 정의가 적은 부분을 찾아 편집합니다. 그런 다음 CSS를 lessc. CSS 파일을 직접 편집하지 마십시오! 유지 관리 할 수 ​​없습니다.
nalply

답변:


25

기본적으로 Twitter Bootstrap의 버튼은 ".btn {}"에 의해 CSS에서 제어됩니다. 당신이해야 할 일은 CSS 파일로 가서 "btn"이라고 표시된 곳을 찾아서 색상 설정을 변경하는 것입니다. 그러나 버튼을 강조 표시 할 때 버튼의 색상을 변경해야하므로 단순히 그렇게하는 것만 큼 간단하지 않습니다. 그렇게하려면 CSS에서 ".btn : hover {}와 같은 다른 태그를 찾아야합니다. "등

이를 변경하려면 CSS를 변경해야합니다. 다음은 해당 파일에 대한 빠른 링크입니다.

https://github.com/twbs/bootstrap/blob/master/dist/css/bootstrap.css


33
이것은 특별히 아름다운 해결책이 아닙니다. LESS를 기반으로하는 다른 솔루션을 사용하십시오. 또는 웹 사이트의 변수 편집기를 통해 부트 스트랩을 사용자 정의하십시오.
Jesper 2013 년

5
그냥 무시 ... 문제를 해결하는 데 도움이 될 수 있습니다 결국 당신의 CSS를로드 .. 부트 스트랩의 같은 CALSS를 사용하여
Jaimin MosLake

1
그래, 나는 확실히 bootstrap.css를 수정하는 것에 반대 할 것이다. Jaimin이 말했듯이 그냥 무시하십시오.
Tim Ludwinski 2015

176

가장 간단한 방법은 이것을 재정의에 넣는 것입니다. 상상할 수없는 색을 선택해서 미안해

부트 스트랩 4- 알파 SASS

.my-btn {
  //@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
  @include button-variant(red, white, blue);
}

부트 스트랩 4 알파 SASS 예

부트 스트랩 3 적게

.my-btn {
  //.button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
  .button-variant(red; white; blue);
}

Bootstrap 3 LESS 예제

부트 스트랩 3 SASS

.my-btn {
  //@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
  @include button-variant(red, white, blue);
}

부트 스트랩 3 SASS 예

부트 스트랩 2.3 덜

.btn-primary {
  //.buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
  .buttonBackground(red, white);
}

부트 스트랩 2.3 LESS 예제

부트 스트랩 2.3 SASS

.btn-primary {
  //@include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); 
  @include buttonBackground(red, white); 
}

호버 / 액티브를 처리합니다.

주석에서 검정색을 사용할 때 어둡게하는 대신 버튼을 밝게하려면 (또는 반대로하려면) 클래스를 다음과 같이 조금 더 확장해야합니다.

부트 스트랩 3 SASS Ligthen

.my-btn {
  // @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
  $color: #fff;
  $background: #000;
  $border: #333;
  @include button-variant($color, $background, $border);
  // override the default darkening with lightening
  &:hover,
  &:focus,
  &.focus,
  &:active,
  &.active,
  .open > &.dropdown-toggle {
    color: $color;
    background-color: lighten($background, 20%); //10% default
    border-color: lighten($border, 22%); // 12% default
  }
}

부트 스트랩 3 SASS Lighten 예


17
당신은 환상적입니다.
basarat 2013 년

7
이것을 scss로 어떻게 번역 하시겠습니까?
Dreyfuzz 2013 년

1
그런 다음 실행 lessc하여 CSS 변경 사항을 컴파일하십시오.
nalply aug

7
Dreyfuzz 저는 scss를 사용하지 않지만 써드 파티 sass 부트 스트랩 을 보면 .btn-primary {@include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); }`변수를 적절하게 변경하는 것 같습니다 (끔찍한 포맷팅에 대해 죄송합니다)
chrisan aug

내가 얻을 .buttonBackground is undefined in main.less내 적은 아무것도 포함해야합니까?
Himalay Majumdar 2014 년

32

예를 들어 위험 버튼의 경우 CSS의 색상을 덮어 쓸 수 있습니다.

.btn-danger { border-color: #[insert color here]; background-color: #[insert color here];

.btn-danger:hover { border-color: #[insert color here]; background-color: #[insert color here]; }

7
난 당신이 스타일을 필요가 있다고 생각 :focus하고 :active, 너무, 또는 그렇지 않으면 당신은 가끔 클릭에 이상한 색상을 얻을 / 드래그 ...
사이먼 동

간단합니다.
Nino Škopac

1
검색을 통해이 발견, 당신은 당신이 버튼에서 클릭하고 드래그 기본 색상을 얻고있는 사람들을 위해, 당신은 필요 .btn-primary:active:focus {선택하고이 경우 무시하기 위해
셰인 Reustle을

27

다음은 좋은 리소스입니다. http://charliepark.org/bootstrap_buttons/

색상을 변경하고 실제 효과를 볼 수 있습니다.


2
이것은 구성자입니다. 서둘러 고객을위한 프로토 타입을 만드는 것은 쉽습니다. 그러나 장기적으로는 유지할 수 없습니다. 구성자가 사라지면 어떻게합니까? 따라서 실제의 lessc경우 더 나은 솔루션입니다.
nalply

이 솔루션을 좋아하지만 정확한 색상을 얻기 위해 rgb / rgba를 입력하는 방법이 있었으면합니다.
Sedrick

@nalply less는 이미 해당 단계를 진행 한 경우 좋지만이 "구성자"는 CSS를 생성하는 데 필요한 모든 작업을 수행합니다. 그것을 내려 놓고 가십시오. 그 후에는 구성자가 필요하지 않습니다.
moodboom

21

bootstrap.css (버전 3)를로드 한 후 자체 사용자 정의 CSS 파일을 이미로드하고있는 경우 이러한 2 개의 CSS 스타일을 custom.css에 추가 할 수 있으며 기본 버튼 스타일의 부트 스트랩 기본값을 재정의합니다.

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {

  background-color: #A6A8C1;
  border-color: #31347B;
 }

.btn
{
  background-color: #9F418F;
  border-color: #9F418F;
}

12

CSS 값을 하나씩 변경하는 대신 LESS 를 사용하는 것이 좋습니다 . 부트 스트랩은 Github에 더 적은 버전이 있습니다 : https://github.com/twbs/bootstrap

LESS를 사용하면 변수를 정의하여 색상을 변경하여 훨씬 더 편리하게 만들 수 있습니다. 색상을 한 번 정의하면 LESS는 값을 전역 적으로 변경하는 CSS 파일을 컴파일합니다. 시간과 노력을 절약합니다.


11

부트 스트랩 버튼 스타일을 완전히 재정의하려면 속성 목록을 재정의해야합니다. 아래 예를 참조하십시오.

    .btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, 
    .btn-primary:active, .btn-primary.active, .btn-primary:visited,
    .btn-primary:active:hover, .btn-primary.active:hover{
        background-color: #F19425;
        color:#fff;
        border: none;
        outline: none;
    }

나열된 모든 스타일을 사용하지 않으면 버튼에서 작업을 수행 할 때 기본 스타일이 표시됩니다. 예를 들어 버튼을 클릭하고 버튼에서 마우스 포인터를 제거하면 기본 색상이 표시됩니다. 또는 버튼을 길게 누르면 기본 색상이 표시됩니다. 따라서 재정의 할 모든 의사 스타일을 나열했습니다.


이 방법은 훌륭합니다. LESS 부트 스트랩 사용자 정의 다음으로 두 번째입니다
Gianluca Ghettini


5

또는 http://twitterbootstrapbuttons.w3masters.nl/ 시도하십시오 . HTML 색상 입력을 기반으로 버튼에 대한 CSS를 생성합니다. 부트 스트랩 CSS 뒤에 CSS를 추가합니다. 세 가지 스타일의 버튼 (밝음, 어두움 및 회전)을 제공합니다.


1
이것은 구성자 (일종)입니다. 고객을위한 프로토 타입을 서두르고 있다면 매우 쉽습니다. 그러나 장기적으로는 유지할 수 없습니다. 구성자가 사라지면 어떻게합니까? 따라서 실제의 lessc경우 더 나은 솔루션입니다.
nalply aug

5

다음은 매우 쉽고 효율적인 방법입니다. CSS에 버튼에 적용 할 색상으로 클래스를 추가하세요.

.my-btn{
    background: #0099cc;
    color: #ffffff;
}
.my-btn:hover { 
  border-color: #C0C0C0; 
  background-color: #C0C0C0; 
}

부트 스트랩 버튼 또는 링크에 스타일을 추가합니다.

<a href="xxx" class="btn btn-info my-btn">aaa</a>

3

에서 트위터 부트 스트랩 부트 스트랩 3.0.0, 트위터 버튼이 평평하다. http://getbootstrap.com/customize 에서 사용자 정의 할 수 있습니다 . 버튼 색상, 테두리 반경 등

또한 HTML 코드 및 기타 기능 http://twitterbootstrap.org/bootstrap-css-buttons를 찾을 수 있습니다 .

부트 스트랩 2.3.2 버튼은 그라데이션이지만 3.0.0 (새 릴리스)은 평평하고 더 멋져 보입니다.

또한이 리소스에서 전체 부트 스트랩 모양과 스타일을 사용자 정의 할 수 있습니다. http://twitterbootstrap.org/top-5-customizing-bootstrap-resources/


1

나는 이것이 오래된 스레드라는 것을 알고 있지만 다른 관점을 추가하기 위해. 재정의를 사용하는 것은 실제로 약간의 코드 냄새이며 더 큰 프로젝트에서 빠르게 손을 뗄 것이라고 주장합니다. 오늘은 버튼, 내일 모달, 다음 날 드롭 다운 등을 재정의하고 있습니다.

포함을 주석 처리하고 buttons.less내 자신을 정의하거나 내 프로젝트에 더 적합한 다른 Buttons 라이브러리를 찾는 것이 좋습니다. 뻔뻔한 플러그 : 여기에 우리의 Buttons 라이브러리를 TB : Using Buttons with Twitter Bootstrap과 쉽게 혼합 할 수있는 예가 있습니다. 실제로 buttons.less는 성능을 향상시키기 위해 include를 완전히 제거하고 싶을 가능성이 있지만, 이렇게하면 좀 덜 "일반적"으로 보이게 할 수있는 방법을 알 수 있습니다. 나는 아직이 연습을하지 않았지만 다음과 같은 줄을 간단히 주석 처리하여 시작할 수 있다고 생각합니다.

https://github.com/twbs/bootstrap/blob/master/less/bootstrap.less#L17

그런 다음 자신의 버튼 모듈 중 하나를 사용하여`lessc를 사용하여 다시 컴파일하십시오. 이렇게하면 TB의 핵심적인 전투 테스트를받을 수 있지만 주요 재정의에 의존하지 않고도 사용자 정의 할 수 있습니다. Bootstrap과 같은 라이브러리의 일부만 사용하지 않을 이유가 전혀 없습니다. 물론 Sass 버전의 TB에도 동일하게 적용됩니다.


0

Bootstrap (최소한 버전 3.1.1) 및 LESS의 경우 다음을 사용할 수 있습니다.

.btn-my-custom {
    .button-variant(@color; @background; @border)
}

이것은에 정의되어 bootstrap/less/buttons.less있습니다.


0

배경색을 변경하고! important를 사용할 수 있습니다.

.btn-primary {
  background-color: #003c79 !important;
  border-color: #15548b !important;
  color: #fff;
}

.btn-primary:hover {
  background-color: #4289c6 !important;
  border-color: #3877ae !important;
  color: #fff;
}

.btn-primary.focus, .btn-primary:focus {
   background-color: #4289c6 !important;
   border-color: #3877ae !important;
   color: #fff;
}

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