मैं जो करने की कोशिश कर रहा हूं वह टूलटिप रंग को लाल करने के लिए बदल रहा है । हालाँकि, मैं भी कई अन्य रंग रखना चाहता हूं, इसलिए मैं मूल टूलटिप के रंग को बदलना नहीं चाहता।
मैं ऐसा कैसे कर पाऊंगा?
मैं जो करने की कोशिश कर रहा हूं वह टूलटिप रंग को लाल करने के लिए बदल रहा है । हालाँकि, मैं भी कई अन्य रंग रखना चाहता हूं, इसलिए मैं मूल टूलटिप के रंग को बदलना नहीं चाहता।
मैं ऐसा कैसे कर पाऊंगा?
जवाबों:
आप इस तरह से उपयोग कर सकते हैं:
<a href="#" data-toggle="tooltip" data-placement="bottom"
title="" data-original-title="Tooltip on bottom"
class="red-tooltip">Tooltip on bottom</a>
और सीएसएस में:
.tooltip-arrow,
.red-tooltip + .tooltip > .tooltip-inner {background-color: #f00;}
Moeen MH : बूटस्ट्रैप के सबसे हाल के संस्करण के साथ, आपको काले तीर से छुटकारा पाने के लिए ऐसा करने की आवश्यकता हो सकती है:
.red-tooltip + .tooltip.top > .tooltip-arrow {background-color: #f00;}
बूटस्ट्रैप 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>
.red-tooltip + .tooltip > .tooltip-arrow {background-color: #f00;}
.red-tooltip + .tooltip.top > .tooltip-arrow {background-color: #f00;}
containerविकल्प को डिफ़ॉल्ट छोड़ देते हैं तो यह समाधान अच्छा है । हालाँकि, यदि आप container: "body"ऐसा करते हैं कि आपका टूलटिप अतिप्रवाह के रूप में नहीं जाता है, तो यह सीएसएस चयनकर्ता को तोड़ देगा।
बूटस्ट्रैप २
यदि आप कैरेट / एरो को भी बदलना चाहते हैं, तो निम्न कार्य करें:
.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
आपको बूटस्ट्रैप 3 में टूलटिप की दिशा के लिए विशिष्ट होना चाहिए। उदाहरण के लिए:
.tooltip.top .tooltip-inner {
background-color:red;
}
.tooltip.top .tooltip-arrow {
border-top-color: red;
}
jsFiddle बूटस्ट्रैप 3 का उपयोग कर सभी टूलटिप दिशाओं के लिए: http://jsfiddle.net/technotarek/L2bLE/
मेरे लिए काम करने का एकमात्र तरीका:
$(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>
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;
}
यहां टूलटिप कोड है बूस्टराप में ...
.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;
}
नोट करने के लिए महत्वपूर्ण, बूटस्ट्रैप 4 के रूप में आप इन शैलियों को सीधे अपने बूटस्ट्रैप सैस चर फ़ाइल में कस्टमाइज़ कर सकते हैं, इसलिए _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/
सास में काम करने और संकलन करने के लिए सबसे अच्छा है कि आप ग्रंट या गुल्प बिल्ड टूल्स के साथ जाएं।
मेरा 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');
});
आप अपनी समस्या को हल करने के लिए इसका उपयोग कर सकते हैं। मैंने इसे अपने प्रोजेक्ट में चेक किया और यह ठीक काम करता है।
<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;
}
यह पहले से ही सही उत्तर दिया गया है लेकिन मुझे लगता है कि मुझे भी अपनी राय देनी चाहिए। जैसे कोजेन कहता है कि यह एक सीमा है, और इसे काम करने के लिए आपको कक्षाओं को इसे उसी तरह से प्रारूपित करना होगा जिस तरह से बूटस्ट्रैप इसे निर्दिष्ट करता है। तो, आप यह कर सकते हैं
.tooltip .tooltip-inner {background-color: #00a8c4; color: black;}
.tooltip.top .tooltip-arrow {border-top-color: #00a8c4;}
या आप अगले एक कर सकते हैं, सिर्फ टूलटिप-एरो के लिए लेकिन आपको इसे जोड़ना होगा! महत्वपूर्ण, ताकि यह बूटस्ट्रैप सीएसएस को ओवरराइट कर दे!
.tooltip-arrow {border-top-color: #00a8c4!important;}
इसने मेरे लिए काम किया।
.tooltip .arrow:before {
border-top-color: #008ec3 !important;
}
.tooltip .tooltip-inner {
background-color: #008ec3;
}
उपरोक्त उत्तर में से कोई भी ठीक काम करता है 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'));
});
और एक सरल सीएसएस स्निपेट:
.tooltip.tooltip-danger > .tooltip-inner {
background-color: #d9534f;
}
.tooltip.tooltip-danger.left > .tooltip-arrow {
border-left-color: #d9534f;
}
अब आप अपने टूलटिप को हमेशा की तरह निष्क्रिय कर सकते हैं, data-tooltip-custom-classविशेषता के माध्यम से कस्टम सीएसएस वर्ग पास करना :
<span class="js-tooltip">Hover me totally</span>
<script>
$('.js-tooltip')
.data('tooltip-custom-class', 'tooltip-danger')
.tooltip(/*your options*/)
;
</script>
बूटस्ट्रैप ४
बूटस्ट्रैप 4 का उपयोग करते समय टूलटिप को बॉडी टैग के नीचे जोड़ा जाता है। यदि आपका टूलटिप दूसरे टैग का बच्चा है, तो css का उपयोग करके टूलटिप को लक्षित करने का कोई तरीका नहीं है। एक ही रास्ता मैंने पाया है कि काम करता है। put.bs.tooltip ईवेंट का उपयोग करना और इनर डिव और एरो में एक क्लास जोड़ना। तब आप क्लास को 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>
यदि आप रंग बदलना चाहते हैं तो आप अन्य उत्तरों में बताए गए क्विकएप्रोच का उपयोग कर सकते हैं। हालाँकि अगर आप बूटस्ट्रैप का उपयोग कर रहे हैं तो आपको थीम का उपयोग करना चाहिए ताकि देखो और महसूस सुसंगत हो। दुर्भाग्य से बूटस्ट्रैप के लिए थीम के लिए कोई अंतर्निहित समर्थन नहीं है, इसलिए मैंने सीएसएस के छोटे टुकड़े को लिखा जो ऐसा करता है। आप मूल रूप से प्राप्त करते हैं tooltip-info, tooltip-warningआदि कक्षाएं जिन्हें आप विषय को लागू करने के लिए तत्व में जोड़ सकते हैं।
आप इस कोड को फिडेल, उदाहरणों और अधिक स्पष्टीकरण के साथ इस उत्तर में पा सकते हैं: https://stackoverflow.com/a/20880312/207661
तीर एक सीमा है।
आपको प्रत्येक तीर के रंग के अनुरूप बदलने की आवश्यकता है।
.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)।
यदि कोई जानता है कि इसे कैसे संभालना है?!
तीर के लिए, पहले पुष्टि करें कि आप किस दिशा का उपयोग कर रहे हैं। उदाहरण के लिए, मैं leftदिशा का उपयोग कर रहा हूं , तो यह होना चाहिए
.tooltip .tooltip-inner {
background-color:#2fa5fb;
}
.tooltip.left > .tooltip-arrow {
border-left-color: #2fa5fb;
}
यह bootstrap4 में टूलटिप के रंग को बदल देगा। आप शीर्ष, .bs-टूलटिप-टॉप के स्थान पर संबंधित के लिए CSS जोड़ने के लिए दाएं, बाएं, दाएं का उपयोग कर सकते हैं।
.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;
}
यहां एक SCSS कोड (नीचे संकलित सीएसएस) है जो आपको टूलटिप रंगों को आसानी से नियंत्रित करने में मदद करेगा, जिसमें तीर (साथ ही तीर के लिए सीमा और पृष्ठभूमि) शामिल हैं:
नोट: आपको सीएसएस के नियमों को प्रभावी करने के लिए कुछ स्थानों पर "महत्वपूर्ण" जोड़ने की आवश्यकता हो सकती है। नोट # 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;
}
}
}
सीएसएस :
.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>
$(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>
इसे जांचें शायद यह आपकी मदद कर सके। आपके पास कई टूलटिप्स रंग हो सकते हैं।
हम अपनी वेबसाइट पर बूटस्ट्रैप 3.0 का उपयोग कर रहे हैं, लेकिन उपर्युक्त चरणों में से किसी ने टूलटिप की स्टाइलिंग को अपडेट करने में काम नहीं किया है। लेकिन मुझे इसके बजाय jQueryUI स्टाइल का उपयोग करके एक समाधान मिला
https://jqueryui.com/tooltip/#custom-style
सीएसएस
.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;
}
एचटीएमएल
<div class="qu_help" data-toggle="tooltip" title="Some Random Title">
<span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>
</div>
मैं इस उत्तर को किसी अन्य स्थिति में वैसा ही जोड़ रहा हूँ जैसा मैं था।
यह आसान तरीका मेरे लिए काम करता है जब मैं बूटस्ट्रैप टूलटिप्स की पृष्ठभूमि का रंग बदलना चाहता हूं:
$(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>
नोट ए:
यदि
jsकोड शामिल.data('tooltip')आप के लिए काम नहीं कर रहा है तो कृपया अपनी लाइन टिप्पणी और टिप्पणी हटाएंjsकोड शामिल.data('bs-tooltip')।नोट बी:
यदि आपका बूटस्ट्रैप टूलटिप फ़ंक्शन शरीर के अंत में एक टूलटिप जोड़ता है (तत्व के ठीक बाद नहीं) , मेरा समाधान अभी तक अच्छी तरह से काम करता है , लेकिन इस पृष्ठ के कुछ अन्य उत्तर इस परिदृश्य में @Praveen Kumar और @technoTarek की तरह काम नहीं करते हैं।
नोट सी:
इस कोड समर्थन
tooltip arrowटूलटिप के सभी नियुक्तियों में रंग (top,bottom,left,right)।
Tst.js पर निर्भरता के साथ बूटस्ट्रैप 4 के लिए .tooltip-arrow कक्षाओं को .tooltip.bs-tether-element-संलग्न- [स्थिति] {...} से बदल दिया गया है
यहां बताया गया है कि मैंने रंग कैसे बदला और नीचे का तीर कितना गाढ़ा है। सीमा-चौड़ाई में जोड़े गए प्रत्येक पिक्सेल के लिए, मुझे एक पिक्सेल को "नीचे" स्थिति से घटाना पड़ा।
.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- एलिमेंट-अटैच-लेफ्ट के लिए एडजस्ट करना होगा। बॉर्डर-राइट को एडजस्ट करना होगा, और अगर पिक्सल को "लेफ्ट", आदि से घटाकर बॉर्डर की चौड़ाई बढ़ाई जाएगी।
ओलेग का जवाब https://stackoverflow.com/a/42994192/9921853 वहां सबसे अच्छा है। यह टूलटिप शैलियों को गतिशील रूप से बनाए गए तत्वों को लागू करने की अनुमति देता है। हालाँकि यह बूटस्ट्रैप 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
पूर्ण समाधान (बूटस्ट्रैप 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;
}
CSS के माध्यम से बूटस्ट्रैप 4 संस्करण के लिए :
यदि आप गुब्बारे का पृष्ठभूमि रंग बदलना चाहते हैं :
/* 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;
}
आशा है कि आपकी मदद करेंगे
अपने BS4 प्रोजेक्ट के भीतर, यदि आप SASS कोड संकलित करने में सक्षम हैं, तो आप किसी भी दिशा से टूलटिप्स की रंग योजना का प्रबंधन करने के लिए एक मिश्रण बनाने का लाभ ले सकते हैं।
यहाँ कई तरीकों में से एक है जिसमें आप इसे लागू कर सकते हैं:
सभी 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 फ़ाइल के भीतर आपके मिक्सकिन को ऐसा कहते हैं:
@include m-tooltip-color-direction('.mtooltip', $m-color-blue);अंत में, अपने लेआउट में बीएस 4 टूलटिप जोड़ें, और इसे लचीलेपन के लिए एक कस्टम वर्ग दें। यह बीएस 4 संसाधन एक विकल्प के रूप में टेम्पलेट का उपयोग करने के बारे में बात करता है। हम अपने कस्टम वर्ग को जोड़ने के लिए इसका उपयोग करेंगे।
निम्न उदाहरण जानकारी आइकन बैज पर एक टूलटिप जोड़ता है:
<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>इस सेटअप से आप अपने टूलटिप के वर्ग नाम, रंग और दिशा को अपने मूल मिश्रण को स्पर्श किए बिना समायोजित कर सकते हैं । कितना मजेदार था वो :)
उम्मीद है की यह मदद करेगा!