부트 스트랩 툴팁 색상 변경


126

내가하려는 것은 툴팁 색상을 빨간색으로 변경하는 것 입니다. 그러나 다른 색상도 여러 개 갖고 싶기 때문에 단순히 원래 도구 설명의 색상을 바꾸고 싶지는 않습니다.

어떻게하면 되나요?



이 답변을보십시오 : stackoverflow.com/a/38279489/3554107 . 각 방향 화살표의 스타일을 지정하려면 CSS 속성 선택기를 사용하여 각 화살표를 선택한 다음 개별적으로 스타일을 지정해야합니다.
vishnu

각 도구 설명에 대한 사용자 지정 스타일 방금 여기에 다소 간단한 솔루션을 게시했습니다 ...
George

답변:


181

다음과 같이 사용할 수 있습니다.

<a href="#" data-toggle="tooltip" data-placement="bottom"
   title="" data-original-title="Tooltip on bottom"
   class="red-tooltip">Tooltip on bottom</a>

그리고 CSS에서 :

.tooltip-arrow,
.red-tooltip + .tooltip > .tooltip-inner {background-color: #f00;}

jsFiddle


Moeen MH : 최신 버전의 부트 스트랩을 사용하여 검은 색 화살표를 제거하려면 다음을 수행해야합니다.

.red-tooltip + .tooltip.top > .tooltip-arrow {background-color: #f00;}

Bootstrap 4에 사용하십시오.

.bs-tooltip-auto[x-placement^=bottom] .arrow::before,
.bs-tooltip-bottom .arrow::before {
  border-bottom-color: #f00; /* Red */
}

전체 스 니펫 :

$(function() {
  $('[data-toggle="tooltip"]').tooltip()
})
.tooltip-main {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  font-weight: 700;
  background: #f3f3f3;
  border: 1px solid #737373;
  color: #737373;
  margin: 4px 121px 0 5px;
  float: right;
  text-align: left !important;
}

.tooltip-qm {
  float: left;
  margin: -2px 0px 3px 4px;
  font-size: 12px;
}

.tooltip-inner {
  max-width: 236px !important;
  height: 76px;
  font-size: 12px;
  padding: 10px 15px 10px 20px;
  background: #FFFFFF;
  color: rgb(0, 0, 0, .7);
  border: 1px solid #737373;
  text-align: left;
}

.tooltip.show {
  opacity: 1;
}

.bs-tooltip-auto[x-placement^=bottom] .arrow::before,
.bs-tooltip-bottom .arrow::before {
  border-bottom-color: #f00;
  /* Red */
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.bundle.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<div class="tooltip-main" data-toggle="tooltip" data-placement="top" data-original-title="Hello world"><span class="tooltip-qm">?</span></div>
<style>
  .bs-tooltip-auto[x-placement^=bottom] .arrow::before,
  .bs-tooltip-bottom .arrow::before {
    border-bottom-color: #f00;
    /* Red */
  }
</style>


4
확실히 여전히 검은 색 화살표. 또한 사용하여 색상을 변경해야.red-tooltip + .tooltip > .tooltip-arrow {background-color: #f00;}
Fizzix

1
개드! 내 잘못이야!!! 결정된. @codesnooker가 화살표 를 언급하는 것을 보지 못했습니다 !!! 정말 죄송합니다 !!!
Praveen Kumar Purushothaman

4
최신 버전의 부트 스트랩을 사용하면 검은 색 화살표를 제거하기 위해이 작업을 수행해야 할 수 있습니다. .red-tooltip + .tooltip.top > .tooltip-arrow {background-color: #f00;}
Moein

4
이 솔루션은 도구 설명 container옵션을 기본값으로 두면 좋습니다 . 그러나 container: "body"툴팁이 오버플로로 잘리지 않도록하면 CSS 선택기가 중단됩니다.
약간

1
@PraveenKumar 귀하의 답변 / 바이올린은 오늘 저에게 목적이되었습니다 ;-) 알아낼 수없는 비슷한 문제가 있었기 때문에 저는 "Google"이라고 생각 했습니다 . 건배
Funk Forty Niner

109

부트 스트랩 2

캐럿 / 화살표도 변경하려면 다음을 수행하십시오.

.red-tooltip + .tooltip > .tooltip-inner {background-color: #f00;}
.red-tooltip + .tooltip > .tooltip-arrow {border-bottom-color: #f00;}

또는

.red-tooltip + .tooltip > .tooltip-inner, .red-tooltip + .tooltip > .tooltip-arrow {background-color: #f00;}

jsFiddle : http://jsfiddle.net/technotarek/2htZe/

업데이트 : 부트 스트랩 3

Bootstrap 3에서 도구 설명의 방향을 구체적으로 지정해야합니다. 예 :

.tooltip.top .tooltip-inner {
    background-color:red;
}
.tooltip.top .tooltip-arrow {
      border-top-color: red;
}

부트 스트랩 3을 사용하는 모든 툴팁 지침에 대한 jsFiddle : http://jsfiddle.net/technotarek/L2rLE/


바이올린이 작동하지 않으며이 코드로 캐럿이 변경되지 않습니다.
Don

@Don css와 js에 대한 github 참조가 더 이상 작동하지 않았습니다. Bootstrap CDN (레거시)을 사용하도록 업데이트되었습니다.
technoTarek 2013

이 중 어느 것도 나를 위해 일하지 않았지만 Tuyen의 솔루션은 작동합니다.
Tillito

@technoTarek 왼쪽, 오른쪽 및 상단 배치에 문제가 있습니다. 편집 확인 jsFiddle
아 누락

@Anurag 귀하의 바이올린은 내가 제공 한 솔루션을 사용하지 않습니다. 다음은 HTML과 JS를 사용하여 모든 방향에 대한 내 솔루션,하지만 내 CSS는 다음과 같습니다 jsfiddle.net/technotarek/nhvvqz4v
technoTarek

61

나를 위해 일하는 유일한 방법 :

$(document).ready(function() {
  //initializing tooltip
  $('[data-toggle="tooltip"]').tooltip();
});
.tooltip-inner {
  background-color: #00acd6 !important;
  /*!important is not necessary if you place custom.css at the end of your css calls. For the purpose of this demo, it seems to be required in SO snippet*/
  color: #fff;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #00acd6;
}

.tooltip.right .tooltip-arrow {
  border-right-color: #00acd6;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #00acd6;
}

.tooltip.left .tooltip-arrow {
  border-left-color: #00acd6;
}
<!--jQuery-->
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<!--tether-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<!--Bootstrap-->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>

<!--Tooltip Example-->
<div style="padding:50px;">
  <span class="fa-stack fa-lg" data-toggle="tooltip" data-placement="right" title="custom colored tooltip">hover over me
</span>
</div>


툴팁의 모든 배치에서 나를 위해 일한 유일한 솔루션 :). 감사!
Anurag

받아 들여진 대답이어야합니다. jsFiddle을 추가 할 수 있다면 독자에게 도움이 될 것입니다.
Anurag

12

bootstrap4의 경우 코드를 사용했습니다.

.tooltip-inner {
  background-color: #color !important;
  color: #color ;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #color !important;
}

.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #color !important;
}


.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #color !important;
}


.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #color !important;
}


11

다음은 boostrap의 도구 설명 코드입니다.

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  filter: alpha(opacity=0);
  opacity: 0;

  line-break: auto;
}
.tooltip.in {
  filter: alpha(opacity=90);
  opacity: .9;
}
.tooltip.top {
  padding: 5px 0;
  margin-top: -3px;
}
.tooltip.right {
  padding: 0 5px;
  margin-left: 3px;
}
.tooltip.bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.tooltip.left {
  padding: 0 5px;
  margin-left: -3px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  right: 5px;
  bottom: 0;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

10

화살표 색상의 경우 다음을 사용할 수 있습니다.

.tooltip .tooltip-arrow {border-top: 5px solid red !important;}

7

중요한 점은 Bootstrap 4부터는 Bootstrap Sass 변수 파일에서 이러한 스타일을 직접 사용자 지정할 수 있으므로 _variables.scss에는 다음 옵션이 있습니다.

//== Tooltips
//
//##

// ** Tooltip max width
$tooltip-max-width:           200px !default;
// ** Tooltip text color
$tooltip-color:               #fff !default;
// ** Tooltip background color
$tooltip-bg:                  #000 !default;
$tooltip-opacity:             .9 !default;

// ** Tooltip arrow width
$tooltip-arrow-width:         5px !default;
// ** Tooltip arrow color
$tooltip-arrow-color:         $tooltip-bg !default;

여기를 참조하십시오 : http://v4-alpha.getbootstrap.com/getting-started/options/

Grunt 또는 Gulp 빌드 도구를 사용하여 Sass에서 작업하고 컴파일하는 것이 가장 좋습니다.


또한 $ 툴팁 컬러, $ 툴팁-BG와 $ 툴팁 화살표 색으로 부트 스트랩 3를 사용하여 색상을 설정할 수 있습니다
Woraphot Chokratanasombat

6

내 jQuery 수정 :

HTML :

   <a href="#" data-toggle="tooltip" data-placement="right" data-original-title="some text">
       <span class="glyphicon glyphicon-question-sign"></span>
   </a>

jQuery :

$('[data-toggle="tooltip"]').hover(function(){
    $('.tooltip-inner').css('min-width', '400px');
    $('.tooltip-inner').css('color', 'red');
});

4

이것을 사용하여 문제를 해결할 수 있습니다. 내 프로젝트에서 확인했는데 제대로 작동합니다.

<a class="btn btn-sm btn-success media-tooltip" href="#" data-toggle="tooltip" data-placement="bottom" title="Download Now">Download Now</a>
    .media-tooltip + .tooltip .tooltip-inner {
        font-size: 14px; 
        font-weight: 700;
        color: rgb( 37, 207, 187 ); 
        border-width: 1px;
        border-color: rgb( 37, 207, 187 );
        border-style: solid;
        background-color: rgb( 219, 242, 239 );
        padding: 10px;
        border-radius: 0;
    } 
    .media-tooltip + .tooltip > .tooltip-arrow{display: none;}
    .media-tooltip + .tooltip .tooltip-inner:after, .media-tooltip + .tooltip .tooltip-inner:before {
         bottom: 89%;
         left: 50%;
         border: solid transparent;
         content: " ";
         height: 0;
         width: 0;
         position: absolute;
         pointer-events: none;
    }

    .media-tooltip + .tooltip .tooltip-inner:after {
        border-color: rgba(219, 242, 239, 0);
        border-bottom-color: #dbf2ef;
        border-width: 10px;
        margin-left: -10px;
    }
    .media-tooltip + .tooltip .tooltip-inner:before {
        border-color: rgba(37, 207, 187, 0);
        border-bottom-color: #25cfbb;
        border-width: 11px;
        margin-left: -11px;
    }

4

이것은 이미 정답이지만 저도 제 의견을 제시해야한다고 생각합니다. cozen이 이것이 경계라고 말한 것처럼 작동하려면 부트 스트랩이 지정하는 것과 동일한 방식으로이를 형식화하도록 클래스를 지정해야합니다. 그래서 당신은 이것을 할 수 있습니다

.tooltip .tooltip-inner {background-color: #00a8c4; color: black;} 
.tooltip.top .tooltip-arrow {border-top-color: #00a8c4;}

또는 도구 설명 화살표에 대해서만 다음 작업을 수행 할 수 있지만! important를 추가해야 부트 스트랩 CSS를 덮어 씁니다.

.tooltip-arrow {border-top-color: #00a8c4!important;}

4

이것은 나를 위해 일했습니다.

.tooltip .arrow:before {
    border-top-color: #008ec3 !important;
}

.tooltip .tooltip-inner {
    background-color: #008ec3;
}

1
다른 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 그러나 귀하의 솔루션은 저에게 효과적이었습니다. 감사! :)))
Aspyn Lim

3

위의 답변이 아닌 경우의 경우 잘 작동 container: 'body'하며 다음 솔루션이 작동합니다.

// Assign custom CSS class after the tooltip template has been added to the DOM
$(document).on('inserted.bs.tooltip', function(e) {
    var tooltip = $(e.target).data('bs.tooltip');
    tooltip.$tip.addClass($(e.target).data('tooltip-custom-class'));
});

그리고 간단한 CSS 스 니펫 :

.tooltip.tooltip-danger > .tooltip-inner {
    background-color: #d9534f;
}

.tooltip.tooltip-danger.left > .tooltip-arrow {
    border-left-color: #d9534f;
}

이제 평소처럼 툴팁을 초기화하여 data-tooltip-custom-class속성을 통해 사용자 정의 CSS 클래스를 전달할 수 있습니다 .

<span class="js-tooltip">Hover me totally</span>

<script>
$('.js-tooltip')
    .data('tooltip-custom-class', 'tooltip-danger')
    .tooltip(/*your options*/)
;
</script>

3

부트 스트랩 4

BootStrap 4를 사용할 때 도구 설명이 body 태그의 맨 아래에 추가됩니다. 툴팁이 다른 태그의 하위 인 경우 CSS를 사용하여 툴팁을 대상으로 지정할 수 없습니다. 내가 찾은 유일한 방법은 insert.bs.tooltip 이벤트를 사용하고 내부 div와 화살표에 클래스를 추가하는 것입니다. 그런 다음 CSS에서 클래스를 대상으로 지정할 수 있습니다.

// initialize tooltips
$('[data-toggle="tooltip"]').tooltip(); 

// Add the classes to the toolip when it is created
$('[data-toggle="tooltip"]').on('inserted.bs.tooltip',function () {
    var thisClass = $(this).attr("class");
    $('.tooltip-inner').addClass(thisClass);
    $('.arrow').addClass(thisClass + "-arrow");
});
/* style the tooltip box and arrow based on your class*/
.bs-tooltip-left .redTip {
    background-color: red !important
}
.bs-tooltip-left .redTip-arrow::before {
    border-left-color: red !important
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<p>Show a red tooltip <a href="#" class="redTip" data-toggle="tooltip" data-placement="left" title="You Did It!">Hover over me</a></p>


이것은 Bootstrap 4의 작업 솔루션입니다. 팁 : 저처럼 툴팁 트리거 매뉴얼 (즉, 항상 표시되는 툴팁)을 사용하는 경우 다른 html 속성을 사용하십시오. 'data-toggle'을 사용하면 표시 / 숨기기가 트리거되기 때문입니다. 마우스 호버로 이벤트.
mizerablebr

2

색상을 변경하려는 경우 다른 답변에서 언급 한 빠른 접근 방식을 사용할 수 있습니다. 그러나 Bootstrap을 사용하는 경우 테마를 사용하여 모양과 느낌이 일관되도록해야합니다. 불행히도 Bootstrap에 대한 테마에 대한 지원이 내장되어 있지 않으므로이를 수행하는 CSS를 거의 작성하지 않았습니다. 당신은 기본적으로 얻을 tooltip-info, tooltip-warning등 당신이 테마를 적용하기 위해 요소에 추가 할 수있는 클래스를.

이 답변에서 바이올린, 예제 및 자세한 설명과 함께이 코드를 찾을 수 있습니다. https://stackoverflow.com/a/20880312/207661


2

다음과 같이 사용할 수 있습니다.

그리고 CSS에서 :

.tooltip-arrow,
.red-tooltip + .tooltip > .tooltip-inner {background-color: #000;}

2

화살표는 테두리입니다.
각 화살표에 해당하는 색상을 변경해야합니다.

.tooltip.top .tooltip-arrow {
  border-top-color: @color;
}
.tooltip.top-left .tooltip-arrow {
  border-top-color: @color;
}
.tooltip.top-right .tooltip-arrow {
  border-top-color:@color;
}
.tooltip.right .tooltip-arrow {
  border-right-color: @color;
}
.tooltip.left .tooltip-arrow {
  border-left-color: @color;
}
.tooltip.bottom .tooltip-arrow {
  border-bottom-color: @color;
}
.tooltip.bottom-left .tooltip-arrow {
  border-bottom-color: @color;
}
.tooltip.bottom-right .tooltip-arrow {
  border-bottom-color: @color;
}
.tooltip > .tooltip-inner {
  background-color: @color;
  font-size: @font-size-small;
}

그러나 색상을 변경하기 위해 클래스를 추가하려면 (예 : '.class + .tooltip ...'이있는 바이올린에서 작동하지 않습니다 (부트 스트랩 3).
누군가가 처리하는 방법을 알고 있다면?!?


2

하단 툴팁에 대한 부트 스트랩 3 + SASS :

.red-tooltip {
    & + .tooltip.bottom {
          .tooltip-inner{background-color:$red;}
          .tooltip-arrow {border-bottom-color: $red;}
    }
}

2

화살표의 경우 먼저 사용중인 방향을 확인하십시오. 예를 들어, 나는 left방향을 사용 하고 있습니다.

.tooltip .tooltip-inner {
    background-color:#2fa5fb;
}
.tooltip.left > .tooltip-arrow {
   border-left-color: #2fa5fb;
}

2

Bootstrap 4에서 변경된 것 같습니다.

하단에 배치 된 툴팁의 색상을 빨간색으로 변경하려면 CSS에 다음을 추가하면됩니다.

.tooltip-inner {
    background-color: #f00;
}

.bs-tooltip-bottom .arrow::before {
    border-bottom-color: #f00;
}

1

.bs-tooltip-top의 상단 대신에 CSS를 추가하기 위해 하단, 왼쪽, 오른쪽을 사용할 수있는 bootstrap4의 툴팁 색상이 변경됩니다.

.tooltip-inner {
background-color: #00acd6 !important;
color: #fff;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] 
.arrow::before {
border-top-color: #00acd6;
}

부트 스트랩 4 작동 중 CSS 배치를 확인하십시오.
Manish

대답을 조금 설명하십시오. 그것은 다른 사람에게 도움이 될 수
코더

1

다음은 화살표 (화살표의 테두리 및 배경도 포함)를 포함하여 툴팁 색상을 쉽게 제어하는 ​​데 도움이되는 SCSS 코드 (아래 CSS 컴파일)입니다.

참고 : CSS 규칙을 적용하려면 일부 위치에 "중요"를 추가해야 할 수 있습니다. 참고 # 2 : 여기서 스타일은 TOP 및 BOTTOM 도구 설명 레이아웃에서만 작동합니다. 더 많은 스타일을 자유롭게 추가 할 수 있습니다 (& .bs-tooltip-left, & .bs-tooltip-right 등).

SCSS :

$tt-text-color: lime;
$tt-border-color: lime;
$tt-bg-color: black;
$arrow-border-color: lime;
$arrow-bg-color: black;

.tooltip {
  .tooltip-inner {
    background: $tt-bg-color;
    color: $tt-text-color;
    border: 2px solid $tt-border-color;
  }
  .arrow {
    width: 11px;
    height: 11px;
    border: 2px solid $arrow-border-color;
    bottom: 1px;
    &:before {
      width: 11px;
      height: 11px;
      background: $arrow-bg-color;
      border: 0;
    }
  }
  &.bs-tooltip-top {
    .arrow {
      transform: rotate(-135deg);
    }
  }
  &.bs-tooltip-bottom {
    .arrow {
      transform: rotate(135deg);
      top: 2px;
    }
  }
}

CSS :

.tooltip .tooltip-inner {
  background: black;
  color: lime;
  border: 2px solid lime;
}
.tooltip .arrow {
  width: 11px;
  height: 11px;
  border: 2px solid lime;
  bottom: 1px;
}
.tooltip .arrow:before {
  width: 11px;
  height: 11px;
  background: black;
  border: 0;
}
.tooltip.bs-tooltip-top .arrow {
  transform: rotate(-135deg);
}
.tooltip.bs-tooltip-bottom .arrow {
  transform: rotate(135deg);
  top: 2px;
}

라이브 예 :

jQuery(document).ready(function(){
 $('a').tooltip();
});
.tooltip .tooltip-inner {
  background: black;
  color: lime;
  border: 2px solid lime;
}
.tooltip .arrow {
  width: 11px!important;
  height: 11px!important;
  border: 2px solid lime;
  bottom: 1px;
}
.tooltip .arrow:before {
  width: 11px;
  height: 11px;
  background: black;
  border: 0;
}
.tooltip.bs-tooltip-top .arrow {
  transform: rotate(-135deg);
}
.tooltip.bs-tooltip-bottom .arrow {
  transform: rotate(135deg);
  top: 2px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.bundle.min.js"></script>

<div class="text-center py-4">
<a class="cn-box big cn-copy" data-toggle="tooltip" data-placement="bottom" title="Hello There">
  try me
</a>
</div>


0

나를 위해 일하는 유일한 방법 :

.tooltip.bottom .tooltip-arrow{
    border-bottom-color:#F00;
}

0

$(document).ready(function(){
  $('.tooltips-elements')
    .tooltip()
    .each(function() {
        var color = $(this).data('color');
        $(this).hover(function(){
        	var aria = $(this).attr('aria-describedby');
        	$('#' + aria).find('.tooltip-inner').css({
	        	"background": color,
	        	"color" : "#333",
	        	"margin-left" : "10px",
	        	"font-weight" : "700",
	        	"font-family" : "Open Sans",
	        	"font-size" : "13px",
	        });
	        $('#' + aria).find('.tooltip-arrow').css({
	        	"border-bottom-color" : color,
	        });
        });
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>


<a href="#" class="tooltips-elements" data-toggle="tooltip"  data-placement="bottom" data-original-title="Here comes the tooltip" data-color="red">Hover me</a>

이것이 도움이 될 수 있는지 확인하십시오. 여러 도구 설명 색상을 가질 수 있습니다.


0

웹 사이트에서 부트 스트랩 3.0을 사용하고 있지만 위의 단계 중 어느 것도 툴팁의 스타일을 업데이트하는 데 작동하지 않았습니다. 하지만 대신 jQueryUI 스타일링을 사용하는 솔루션을 찾았습니다.

https://jqueryui.com/tooltip/#custom-style

CSS

  .ui-tooltip, .arrow:after {
    background: black;
    border: 2px solid white;
  }
  .ui-tooltip {
    padding: 10px 20px;
    color: white;
    border-radius: 20px;
    font: bold 14px "Helvetica Neue", Sans-Serif;
    text-transform: uppercase;
    box-shadow: 0 0 7px black;
  }

HTML

<div class="qu_help" data-toggle="tooltip" title="Some Random Title"> 
   <span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>
</div>

다른 사람이 나와 비슷한 상황에 처한 경우이 답변을 추가하고 있습니다.


0

이 쉬운 방법은 부트 스트랩 툴팁의 배경색을 변경하려는 경우에 적합합니다.

$(function(){
    //$('.tooltips.red-tooltip').tooltip().data('bs.tooltip').tip().addClass('red-tooltip');
    $('.tooltips.red-tooltip').tooltip().data('tooltip').tip().addClass('red-tooltip');
});
.red-tooltip.tooltip.tooltip.bottom .tooltip-arrow, 
.red-tooltip.tooltip.tooltip.bottom-left .tooltip-arrow,
.red-tooltip.tooltip.tooltip.bottom-right .tooltip-arrow{border-bottom-color: red;}
.red-tooltip.tooltip.top .tooltip-arrow {border-top-color: red;}
.red-tooltip.tooltip.left .tooltip-arrow {border-left-color: red;}
.red-tooltip.tooltip.right .tooltip-arrow {border-right-color: red;}
.red-tooltip.tooltip > .tooltip-inner{background-color:red;}
<link href="http://getbootstrap.com/2.3.2/assets/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://getbootstrap.com/2.3.2/assets/js/bootstrap-tooltip.js"></script>

<a href="#" data-toggle="tooltip" data-placement="bottom"
   title="" data-original-title="Made by @Ram"
   class="tooltips red-tooltip">My link with red tooltip</a>

참고 A :

js코드 포함 .data('tooltip')이 작동하지 않는 경우 해당 줄주석 처리하고 js 코드 주석을 제거하십시오.data('bs-tooltip') .

참고 B :

경우 부트 스트랩 툴팁 기능이 툴팁을 추가 신체의 끝 (하지 못 요소 후)에 , 내 솔루션은 아직 잘 작동 하지만,이 페이지에 다른 대답을하지 않았다처럼 작동 @Praveen 쿠마@technoTarek 이 시나리오에서.

참고 C :

이 코드 지원 tooltip arrow툴팁의 모든 게재 위치에서 색상 ( top, bottom, left, right).


0

jQuery 를 사용하려면 다음을 시도하십시오.

$('[data-toggle="tooltip"]').on('shown.bs.tooltip', function(){
    $('.tooltip.bottom .tooltip-arrow').css('border-bottom-color', 'red');
    $('.tooltip-inner').css('background-color', 'red');
});

0

tether.js에 대한 종속성이있는 Bootstrap 4의 경우 .tooltip-arrow 클래스가 .tooltip.bs-tether-element-attached- [position] {...}로 대체되었습니다.

색상을 변경하고 아래쪽 화살표를 두껍게 한 방법은 다음과 같습니다. 테두리 너비에 추가 된 모든 픽셀에 대해 "하단"위치에서 픽셀을 빼야했습니다.

.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before, .tooltip.tooltip-bottom .tooltip-inner::before {

    border-top-color: #d19b3d !important;
    border-width: 10px 10px 0;
    bottom: -5px;
}

다른 위치를 조정해야합니다. 즉 .tooltip.bs-tether-element-attached-left의 경우 오른쪽 테두리를 조정하고 "왼쪽"에서 픽셀을 빼서 테두리 너비를 높이면 위치를 다시 조정해야합니다.


한 가지 다른 측면을 언급하는 것을 무시했습니다. 테더 요소의 테두리 너비를 높이면 여백 스타일을 사용하여 중앙으로 다시 위치를 변경해야하므로 기본 5px에서 10px 테두리로 변경하려면 기본 margin-left : -5px도 변경해야했습니다. 여백 왼쪽으로 : -10px;
deusoz

0

Oleg의 답변 https://stackoverflow.com/a/42994192/9921853 이 최고입니다. 동적으로 생성 된 요소에 툴팁 스타일을 적용 할 수 있습니다. 그러나 Bootstrap 4에서는 작동하지 않습니다. 약간 수정해야합니다.

부트 스트랩 3 :

$(document).on('inserted.bs.tooltip', function(e) {
    var tooltip = $(e.target).data('bs.tooltip');
    tooltip.$tip.addClass($(e.target).data('tooltip-custom-class'));
});

예 : https://www.bootply.com/UORR04ncTP

부트 스트랩 4 :

$(document).on('inserted.bs.tooltip', function(e) {
    var tooltip = $(e.target).data('bs.tooltip');
    $(tooltip.tip).addClass($(e.target).data('tooltip-custom-class'));
});

예 : https://jsfiddle.net/nsmcan/naq530hx

전체 솔루션 (Bootstrap 3)

JS

$(document).on('inserted.bs.tooltip', function(e) {
    var tooltip = $(e.target).data('bs.tooltip');
    tooltip.$tip.addClass($(e.target).data('tooltip-custom-classes'));
});

$('body').tooltip({ 
    selector: "[title]", 
    html: true
});

HTML

<h1>Test tooltip styling</h1>
<div><span title="Long-long-long tooltip doesn't fit the single line">Hover over me 1</span></div>
<div><span data-tooltip-custom-classes="tooltip-left" data-container="body" title="Example (left aligned):<br>Tooltip doesn't fit the single line, and is not a sibling">Hover over me 2</span></div>
<div><span class="text-danger" data-tooltip-custom-classes="tooltip-large tooltip-left tooltip-danger" title="Example (left aligned):<br>This long text we want to have in the single line">Hover over me 3</span></div>

CSS

.tooltip.tooltip-large > .tooltip-inner {
    max-width: 300px;
}
.tooltip.tooltip-left > .tooltip-inner {
    text-align: left;
}

.tooltip.top.tooltip-danger > .tooltip-arrow {
    border-top-color: #d9534f;
}
.tooltip.top-left.tooltip-danger > .tooltip-arrow {
    border-top-color: #d9534f;
}
.tooltip.top-right.tooltip-danger > .tooltip-arrow {
    border-top-color:#d9534f;
}
.tooltip.right.tooltip-danger > .tooltip-arrow {
    border-right-color: #d9534f;
}
.tooltip.left.tooltip-danger > .tooltip-arrow {
    border-left-color: #d9534f;
}
.tooltip.bottom.tooltip-danger > .tooltip-arrow {
    border-bottom-color: #d9534f;
}
.tooltip.bottom-left.tooltip-danger > .tooltip-arrow {
    border-bottom-color: #d9534f;
}
.tooltip.bottom-right.tooltip-danger > .tooltip-arrow {
    border-bottom-color: #d9534f;
}
.tooltip.tooltip-danger > .tooltip-inner {
    background-color: #d9534f;
}

0

에 대한 부트 스트랩 4 CSS를 통해 버전 :

풍선의 배경색 을 변경하려면 :

/* change style balloon */
.tooltip-inner {
    background-color: green !important;
    color: #fff;
}

하단 위치에 표시 될 때 화살표를 변경하려면 :

/* change style arrow */
.bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-bottom .arrow::before {
    border-bottom-color: #f00;
}

희망이 당신을 도와줍니다


0

BS4 프로젝트 내에서 SASS 코드를 컴파일 할 수 있다면 믹스 인을 생성하여 어떤 방향에서든 툴팁의 색 구성표를 관리 할 수 ​​있습니다.

이 접근 방식의 이점 :

  • 스타일링과 관련된 사항을 위해 추가 javaScript / jQuery를 추가 할 필요가 없습니다.
  • SASS를 활용하여 브랜드를 동적으로 처리합니다.
  • 어떤 툴팁에 어떤 색상과 방향이 있는지 쉽게 제어 할 수 있습니다 .

이를 구현할 수있는 여러 방법 중 하나는 다음과 같습니다.

원래 믹스 인 만들기 :

  • 색상에 대한 변수 제공
  • 2 개의 매개 변수를 설정합니다 (하나는 툴팁의 사용자 정의 클래스 이름 용이고 다른 하나는 색상 용). 또한 이러한 매개 변수에 대한 기본값을 추가합니다 (선택 사항).
  • 목록을 만들고 가능한 4 가지 방향을 모두 포함하도록 반복합니다.

    //define a color
    $m-color-blue: #004c97;
    
    //create a mixin with parameters and default value
    @mixin m-tooltip-color-direction($name:'.mtootltip', $color:$m-color-blue) {
    
    //reference your custom class name
    #{$name} {
        .tooltip-inner {
            background-color: $color;
        }
    
        //create a list of possible directions
        $directions: top bottom left right;
    
        //loop through the list
        @each $direction in $directions {
            &.bs-tooltip-#{$direction} .arrow:before,
             .bs-tooltip-auto[x-placement^="$direction"] .arrow:before {
                border-#{$direction}-color: $color !important;
            }
         }
      }
    }


믹스 인에 전화를 겁니다 (클래스 이름과 색상 조정)

  • 기본 .scss 파일 내에서 다음과 같이 mixin을 호출하십시오.

    @include m-tooltip-color-direction('.mtooltip', $m-color-blue);


레이아웃에 BS4 툴팁 설정 (방향 조정)

  • 마지막으로 레이아웃에 BS4 툴팁을 추가하고 유연성을 위해 사용자 정의 클래스를 제공하십시오. 이 BS4 리소스 는 템플릿을 옵션으로 사용하는 방법에 대해 설명합니다. 이를 사용하여 사용자 지정 클래스를 추가합니다.

  • 다음 예제는 정보 아이콘 배지에 도구 설명을 추가합니다.

     <span class="badge badge-pill badge-primary" data-toggle="tooltip" data-placement="right" data-html="true" data-template="<div class='tooltip mtooltip' role='tooltip'><div class='arrow'></div><div class='tooltip-inner'></div></div>" title="<h1 class='text-white'>Tooltip</h1> on bottom">i</span>


이 설정을 사용하면 원래 믹스 인을 건드리지 않고도 툴팁의 클래스 이름, 색상 및 방향을 조정할 수 있습니다 . 얼마나 멋진가요 :)

도움이 되었기를 바랍니다!

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