Tooltips
Dokuméntasi sareng conto pikeun nambihan tooltip Bootstrap khusus sareng CSS sareng JavaScript nganggo CSS3 pikeun animasi sareng data-bs-atribut pikeun neundeun judul lokal.
Ihtisar
Hal-hal anu kedah terang nalika nganggo plugin tooltip:
- Tooltips ngandelkeun perpustakaan pihak katilu Popper pikeun positioning. Anjeun kedah ngalebetkeun popper.min.js sateuacan
bootstrap.js
, atanapi nganggobootstrap.bundle.min.js
anu ngandung Popper. - Tooltips dipilih pikeun alesan kinerja, jadi Anjeun kudu initialize aranjeunna sorangan .
- Tooltips kalawan judul nol-panjangna pernah ditémbongkeun.
- Sebutkeun
container: 'body'
pikeun nyegah masalah rendering dina komponén anu langkung kompleks (sapertos grup input kami, grup tombol, jsb). - Triggering tooltips on elemen disumputkeun moal jalan.
- Tooltips pikeun
.disabled
atawadisabled
elemen kudu dipicu dina elemen wrapper. - Lamun dipicu tina hyperlinks nu bentang sababaraha garis, tooltips bakal dipuseurkeun. Paké
white-space: nowrap;
on<a>
s anjeun ulah kabiasaan ieu. - Tooltips kudu disumputkeun saméméh elemen pakait maranéhanana geus dihapus tina DOM.
- Tooltips tiasa dipicu ku unsur dina DOM kalangkang.
Ngagaduhan sadayana éta? Hébat, hayu urang tingali kumaha aranjeunna damel sareng sababaraha conto.
prefers-reduced-motion
pamundut média. Tempo
bagian gerak ngurangan tina dokuméntasi aksés kami .
Contona
Aktipkeun tooltips
Sakumaha didadarkeun di luhur, anjeun kedah ngamimitian tooltip sateuacan tiasa dianggo. Salah sahiji cara pikeun ngamimitian sadaya tooltip dina halaman nyaéta milih ku data-bs-toggle
atributna, sapertos kieu:
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
Tooltips on Tumbu
Hover dina tumbu di handap pikeun ningali tooltips:
Téks pananda tempat pikeun nunjukkeun sababaraha tautan inline sareng tooltips. Ieu ayeuna ngan filler, euweuh killer. Eusi disimpen di dieu ngan pikeun meniru ayana téks nyata . Sareng sadaya éta ngan ukur pikeun masihan anjeun ide kumaha tooltip bakal katingali nalika dianggo dina kaayaan dunya nyata. Janten mugia anjeun ayeuna tos ningali kumaha tooltips ieu dina tautan tiasa dianggo dina prakna, saatos anjeun ngagunakeunana dina situs atanapi proyek anjeun nyalira .
<p class="muted">Placeholder text to demonstrate some <a href="#" data-bs-toggle="tooltip" data-bs-title="Default tooltip">inline links</a> with tooltips. This is now just filler, no killer. Content placed here just to mimic the presence of <a href="#" data-bs-toggle="tooltip" data-bs-title="Another tooltip">real text</a>. And all that just to give you an idea of how tooltips would look when used in real-world situations. So hopefully you've now seen how <a href="#" data-bs-toggle="tooltip" data-bs-title="Another one here too">these tooltips on links</a> can work in practice, once you use them on <a href="#" data-bs-toggle="tooltip" data-bs-title="The last tip!">your own</a> site or project.
</p>
title
atawa
data-bs-title
dina HTML Anjeun. Nalika
title
dianggo, Popper bakal ngagentos sacara otomatis
data-bs-title
nalika unsurna didamel.
tooltips custom
Ditambahkeun dina v5.2.0Anjeun tiasa nyaluyukeun tampilan tooltips nganggo variabel CSS . Urang nyetel kelas custom kalawan data-bs-custom-class="custom-tooltip"
wengkuan penampilan custom urang jeung make eta pikeun override variabel CSS lokal.
.custom-tooltip {
--bs-tooltip-bg: var(--bs-primary);
}
<button type="button" class="btn btn-secondary"
data-bs-toggle="tooltip" data-bs-placement="top"
data-bs-custom-class="custom-tooltip"
data-bs-title="This top tooltip is themed via CSS variables.">
Custom tooltip
</button>
Pitunjuk
Hover dina tombol di handap pikeun ningali opat arah tooltips: luhur, katuhu, handap, jeung kénca. Arah dicerminkeun nalika nganggo Bootstrap di RTL.
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-title="Tooltip on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Tooltip on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" data-bs-title="Tooltip on left">
Tooltip on left
</button>
Sareng ditambah HTML khusus:
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
Kalayan SVG:
CSS
Variabel
Ditambahkeun dina v5.2.0Salaku bagian tina pendekatan variabel CSS Bootstrap anu ngembang, tooltips ayeuna nganggo variabel CSS lokal .tooltip
pikeun ningkatkeun kustomisasi sacara real-time. Nilai pikeun variabel CSS diatur via Sass, jadi kustomisasi Sass masih dirojong, teuing.
--#{$prefix}tooltip-zindex: #{$zindex-tooltip};
--#{$prefix}tooltip-max-width: #{$tooltip-max-width};
--#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};
--#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};
--#{$prefix}tooltip-margin: #{$tooltip-margin};
@include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);
--#{$prefix}tooltip-color: #{$tooltip-color};
--#{$prefix}tooltip-bg: #{$tooltip-bg};
--#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};
--#{$prefix}tooltip-opacity: #{$tooltip-opacity};
--#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};
--#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};
variabel Sass
$tooltip-font-size: $font-size-sm;
$tooltip-max-width: 200px;
$tooltip-color: $white;
$tooltip-bg: $black;
$tooltip-border-radius: $border-radius;
$tooltip-opacity: .9;
$tooltip-padding-y: $spacer * .25;
$tooltip-padding-x: $spacer * .5;
$tooltip-margin: null; // TODO: remove this in v6
$tooltip-arrow-width: .8rem;
$tooltip-arrow-height: .4rem;
// fusv-disable
$tooltip-arrow-color: null; // Deprecated in Bootstrap 5.2.0 for CSS variables
// fusv-enable
Pamakéan
Plugin tooltip ngahasilkeun eusi sareng markup dumasar kana paménta, sareng sacara standar nempatkeun tooltip saatos unsur pemicuna.
Micu tooltip via JavaScript:
const exampleEl = document.getElementById('example')
const tooltip = new bootstrap.Tooltip(exampleEl, options)
Ngabahekeun auto
jeungscroll
Posisi tooltip nyoba otomatis robah lamun wadah indungna boga overflow: auto
atawa overflow: scroll
resep kami .table-responsive
, tapi tetep ngajaga posisi panempatan aslina urang. Pikeun ngabéréskeun ieu, setel boundary
pilihan (pikeun modifier flip nganggo popperConfig
pilihan) kana HTMLElement naon waé pikeun nimpa nilai standar 'clippingParents'
, sapertos document.body
:
const tooltip = new bootstrap.Tooltip('#example', {
boundary: document.body // or document.querySelector('#boundary')
})
Markup
Markup anu diperyogikeun pikeun tooltip ngan ukur data
atribut sareng title
dina unsur HTML anjeun hoyong gaduh tooltip. Markup anu dihasilkeun tina tooltip rada saderhana, sanaos peryogi posisi (sacara standar, disetel top
ku plugin).
Nyieun tooltips dianggo pikeun keyboard jeung pamaké téhnologi assistive
Anjeun ngan kedah nambahkeun tooltips kana elemen HTML nu tradisional keyboard-focusable sarta interaktif (saperti tumbu atawa kontrol formulir). Sanajan elemen HTML sawenang (sapertos <span>
s) bisa dijieun focusable ku nambahkeun tabindex="0"
atribut, ieu bakal nambahan tab berpotensi bangor tur ngabingungkeun eureun dina elemen non-interaktif pikeun pamaké keyboard, sarta paling téknologi mantuan ayeuna teu ngumumkeun tooltip dina situasi ieu. Salaku tambahan, ulah ngan ukur ngandelkeun hover
salaku pemicu pikeun tooltip anjeun, sabab ieu bakal ngajantenkeun tooltip anjeun teu mungkin dipicuna pikeun pangguna keyboard.
<!-- HTML to write -->
<a href="#" data-bs-toggle="tooltip" data-bs-title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div>
Unsur ditumpurkeun
Unsur-unsur anu gaduh disabled
atribut henteu interaktif, hartosna pangguna henteu tiasa museurkeun, hover, atanapi klik aranjeunna pikeun memicu tooltip (atanapi popover). Salaku workaround a, Anjeun bakal hoyong pemicu tooltip ti wrapper <div>
atawa <span>
, idéal dijieun keyboard-focusable ngagunakeun tabindex="0"
.
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" data-bs-title="Disabled tooltip">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
Pilihan
Salaku pilihan bisa diliwatan via atribut data atawa JavaScript, anjeun bisa append hiji ngaran pilihan pikeun data-bs-
, sakumaha dina data-bs-animation="{value}"
. Pastikeun pikeun ngarobah tipe kasus tina ngaran pilihan tina " camelCase " pikeun " kebab-case " nalika ngalirkeun pilihan ngaliwatan atribut data. Contona, make data-bs-custom-class="beautifier"
tinimbang data-bs-customClass="beautifier"
.
Salaku Bootstrap 5.2.0, sadaya komponén ngarojong hiji atribut data ditangtayungan eksperimendata-bs-config
nu bisa imah konfigurasi komponén basajan salaku string JSON. Lamun hiji unsur boga data-bs-config='{"delay":0, "title":123}'
jeung data-bs-title="456"
atribut, nilai final title
bakal 456
jeung atribut data misah bakal override nilai dibikeun dina data-bs-config
. Salaku tambahan, atribut data anu aya tiasa ngeusian nilai JSON sapertos data-bs-delay='{"show":0,"hide":150}'
.
sanitize
,
sanitizeFn
, sareng
allowList
pilihan teu tiasa disayogikeun nganggo atribut data.
Ngaran | Tipe | Default | Katerangan |
---|---|---|---|
allowList |
objék | Nilai standar | Obyék anu ngandung atribut sareng tag anu diidinan. |
animation |
boolean | true |
Larapkeun transisi fade CSS kana tooltip. |
boundary |
string, unsur | 'clippingParents' |
wates konstrain mudal tina tooltip (ngan manglaku ka Popper's preventOverflow modifier). Sacara standar, éta 'clippingParents' sarta bisa nampa hiji rujukan HTMLElement (via JavaScript wungkul). Kanggo inpo nu leuwih lengkep tingal Popper urang detectOverflow docs . |
container |
string, unsur, palsu | false |
Appends tooltip ka elemen husus. Contona: container: 'body' . Pilihan ieu hususna kapaké sabab ngamungkinkeun anjeun pikeun nempatkeun tooltip dina aliran dokumen caket unsur pemicu - anu bakal nyegah tooltip ngambang jauh tina unsur pemicu nalika ngarobah ukuran jandela. |
customClass |
string, fungsi | '' |
Tambahkeun kelas kana tooltip nalika dipintonkeun. Catet yén kelas-kelas ieu bakal ditambah salian ti kelas-kelas anu aya dina citakan. Pikeun nambahkeun sababaraha kelas, misahkeun aranjeunna kalayan spasi: 'class-1 class-2' . Anjeun oge bisa lulus fungsi nu kudu balik a string tunggal ngandung ngaran kelas tambahan. |
delay |
angka, objék | 0 |
Reureuh ningalikeun sareng nyumputkeun tooltip (ms) - henteu dianggo pikeun jinis pemicu manual. Lamun jumlah disadiakeun, reureuh diterapkeun ka duanana nyumputkeun / acara. Struktur objék nyaéta: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
susunan | ['top', 'right', 'bottom', 'left'] |
Nangtukeun panempatan fallback ku cara méré daptar panempatan dina susunan (dina urutan preferensi). Kanggo inpo nu leuwih lengkep tingal docs kabiasaan Popper urang . |
html |
boolean | false |
Ngidinan HTML dina tooltip. Upami leres, tag HTML dina tooltip title bakal ditingalikeun dina tooltip. Upami palsu, innerText harta bakal dianggo pikeun nyelapkeun eusi kana DOM. Anggo téks upami anjeun hariwang ngeunaan serangan XSS. |
offset |
susunan, string, fungsi | [0, 0] |
Offset tooltip relatif ka target na. Anjeun tiasa ngaliwat senar dina atribut data kalayan nilai anu dipisahkeun koma sapertos: data-bs-offset="10,20" . Nalika hiji fungsi dipaké pikeun nangtukeun offset, mangka disebut kalawan objék ngandung panempatan popper, rujukan, sarta popper rects salaku argumen kahijina. The triggering unsur DOM titik diliwatan salaku argumen kadua. fungsi kudu balik hiji Asép Sunandar Sunarya dua angka: skidding , jarak . Kanggo inpo nu leuwih lengkep tingal docs offset Popper urang . |
placement |
string, fungsi | 'top' |
Kumaha posisi tooltip: otomatis, luhur, handap, kénca, katuhu. Lamun auto geus dieusian, éta bakal dinamis reorient tooltip nu. Nalika hiji fungsi dipaké pikeun nangtukeun panempatan, mangka disebut titik tooltip DOM salaku argumen kahiji sarta triggering unsur titik DOM salaku kadua. Kontéks this disetel ka conto tooltip. |
popperConfig |
null, objék, fungsi | null |
Pikeun ngarobah konfigurasi Popper standar Bootstrap, tingali konfigurasi Popper . Nalika hiji fungsi dipaké pikeun nyieun konfigurasi Popper, mangka disebut kalawan obyék nu ngandung konfigurasi Popper standar Bootstrap urang. Éta ngabantosan anjeun nganggo sareng ngahijikeun standar sareng konfigurasi anjeun nyalira. fungsi kudu balik hiji objek konfigurasi pikeun Popper. |
sanitize |
boolean | true |
Aktipkeun atanapi mareuman sanitasi. Upami diaktipkeun 'template' , 'content' sareng 'title' pilihan bakal disanitasi. |
sanitizeFn |
null, fungsi | null |
Di dieu anjeun tiasa nyayogikeun fungsi sanitasi anjeun nyalira. Ieu tiasa mangpaat upami anjeun resep ngagunakeun perpustakaan khusus pikeun ngalaksanakeun sanitasi. |
selector |
string, palsu | false |
Upami pamilih disayogikeun, obyék tooltip bakal didelegasikeun ka target anu ditangtukeun. Dina prakna, ieu dipaké pikeun ogé nerapkeun tooltips pikeun dinamis ditambahkeun elemen DOM ( jQuery.on rojongan). Tempo masalah ieu sareng conto informatif . |
template |
senar | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Dasar HTML pikeun dianggo nalika nyiptakeun tooltip. tooltip urang title bakal nyuntik kana .tooltip-inner . .tooltip-arrow bakal janten panah tooltip. Unsur wrapper pangluarna kudu boga .tooltip kelas na role="tooltip" . |
title |
string, unsur, fungsi | '' |
Nilai judul standar upami title atribut teu aya. Upami fungsina dipasihkeun, éta bakal disebat sareng this rujukanna disetel ka unsur anu napel popover. |
trigger |
senar | 'hover focus' |
Kumaha tooltip dipicu: klik, hover, fokus, manual. Anjeun tiasa ngalangkungan sababaraha pemicu; misahkeun aranjeunna kalayan spasi. 'manual' nunjukkeun yén tooltip bakal dipicu programmatically via .tooltip('show') , .tooltip('hide') jeung .tooltip('toggle') métode; nilai ieu teu bisa digabungkeun jeung sagala pemicu séjén. 'hover' sorangan bakal ngahasilkeun tooltips nu teu bisa micu via keyboard, sarta ngan kudu dipaké lamun aya métode alternatif pikeun nepikeun informasi anu sarua pikeun pamaké keyboard. |
Atribut data pikeun tooltips individu
Pilihan pikeun tooltips individu Alternatipna bisa dieusian ngaliwatan pamakéan atribut data, sakumaha dipedar di luhur.
Ngagunakeun fungsi kalawanpopperConfig
const tooltip = new bootstrap.Tooltip(element, {
popperConfig(defaultBsPopperConfig) {
// const newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Métode
Métode Asynchronous sareng transisi
Sadaya metode API henteu sinkron sareng ngamimitian transisi . Aranjeunna balik deui ka panelepon pas transisi dimimitian tapi saméméh éta ends . Sajaba ti éta, panggero métode dina komponén transisi bakal dipaliré .
Tempo dokuméntasi JavaScript kami pikeun inpo nu leuwih lengkep .
Métode | Katerangan |
---|---|
disable |
Ngaleungitkeun kamampuan pikeun nunjukkeun tooltip unsur. Tooltip ngan bakal tiasa ditingalikeun upami diaktipkeun deui. |
dispose |
Nyumputkeun sareng ngancurkeun tooltip unsur (Ngahapus data anu disimpen dina unsur DOM). Tooltips nu make delegasi (anu dijieun maké pilihanselector ) teu bisa individual ancur dina elemen pemicu turunan. |
enable |
Méré tooltip hiji unsur kamampuhan pikeun dipintonkeun. Tooltips diaktipkeun sacara standar. |
getInstance |
Métode statik anu ngamungkinkeun anjeun kéngingkeun conto tooltip anu aya hubunganana sareng unsur DOM, atanapi ngadamel anu énggal upami henteu diinisialisasi. |
getOrCreateInstance |
Métode statik anu ngamungkinkeun anjeun kéngingkeun conto tooltip anu aya hubunganana sareng unsur DOM, atanapi ngadamel anu énggal upami henteu diinisialisasi. |
hide |
Nyumputkeun tooltip unsur. Mulih ka panelepon saméméh tooltip sabenerna disumputkeun (ie saméméh hidden.bs.tooltip acara lumangsung). Ieu dianggap "manual" pemicu tooltip. |
setContent |
Méré cara pikeun ngarobah eusi tooltip sanggeus initialization na. |
show |
Nembongkeun tooltip hiji unsur. Mulih ka nu nelepon saméméh tooltip sabenerna geus ditémbongkeun (ie saméméh shown.bs.tooltip acara lumangsung). Ieu dianggap "manual" pemicu tooltip. Tooltips kalawan judul nol-panjangna pernah ditémbongkeun. |
toggle |
Toggles tooltip hiji unsur. Mulih ka nu nelepon saméméh tooltip sabenerna geus ditémbongkeun atawa disumputkeun (ie saméméh shown.bs.tooltip atawa hidden.bs.tooltip kajadian lumangsung). Ieu dianggap "manual" pemicu tooltip. |
toggleEnabled |
Toggles kamampuhan pikeun tooltip unsur pikeun ditémbongkeun atawa disumputkeun. |
update |
Ngamutahirkeun posisi tooltip hiji unsur. |
const tooltip = bootstrap.Tooltip.getInstance('#example') // Returns a Bootstrap tooltip instance
// setContent example
tooltip.setContent({ '.tooltip-inner': 'another title' })
setContent
narima
object
argumen, dimana unggal sipat-konci mangrupakeun
string
pamilih valid dina template popover, sarta unggal patali sipat-nilai bisa jadi
string
|
element
|
function
|
null
Kajadian
Acara | Katerangan |
---|---|
hide.bs.tooltip |
Kajadian ieu langsung dipecat nalika hide metode conto parantos disebut. |
hidden.bs.tooltip |
Acara ieu dipecat nalika popover parantos disumputkeun tina pangguna (bari ngantosan transisi CSS réngsé). |
inserted.bs.tooltip |
Kajadian ieu dipecat sanggeus show.bs.tooltip kajadian nalika template tooltip geus ditambahkeun kana DOM. |
show.bs.tooltip |
Kajadian ieu langsung hurung nalika show metode conto disebut. |
shown.bs.tooltip |
Kajadian ieu dipecat nalika popover parantos katingali ku pangguna (bari ngantosan transisi CSS réngsé). |
const myTooltipEl = document.getElementById('myTooltip')
const tooltip = bootstrap.Tooltip.getOrCreateInstance(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', () => {
// do something...
})
tooltip.hide()