Luncat ka eusi utama Luncat ka navigasi docs
Check
in English

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 nganggo bootstrap.bundle.min.jsanu 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 .disabledatawa disabledelemen 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.

Sacara standar, komponén ieu nganggo sanitizer eusi anu diwangun, anu ngaleungitkeun unsur HTML anu henteu diidinan sacara eksplisit. Tingali bagian sanitizer dina dokuméntasi JavaScript kami pikeun langkung rinci.
Pangaruh animasi tina komponén ieu gumantung kana prefers-reduced-motionpamundut 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-toggleatributna, sapertos kieu:

const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))

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 .

html
<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>
Ngarasa Luncat ngagunakeun boh titleatawa data-bs-titledina HTML Anjeun. Nalika titledianggo, Popper bakal ngagentos sacara otomatis data-bs-titlenalika unsurna didamel.

tooltips custom

Ditambahkeun dina v5.2.0

Anjeun 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);
}
html
<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.0

Salaku bagian tina pendekatan variabel CSS Bootstrap anu ngembang, tooltips ayeuna nganggo variabel CSS lokal .tooltippikeun 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 autojeungscroll

Posisi tooltip nyoba otomatis robah lamun wadah indungna boga overflow: autoatawa overflow: scrollresep kami .table-responsive, tapi tetep ngajaga posisi panempatan aslina urang. Pikeun ngabéréskeun ieu, setel boundarypilihan (pikeun modifier flip nganggo popperConfigpilihan) 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 dataatribut sareng titledina unsur HTML anjeun hoyong gaduh tooltip. Markup anu dihasilkeun tina tooltip rada saderhana, sanaos peryogi posisi (sacara standar, disetel topku 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 hoversalaku 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 disabledatribut 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".

html
<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 titlebakal 456jeung 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}'.

Catet yén pikeun alesan kaamanan sanitize, sanitizeFn, sareng allowListpilihan 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 titlebakal ditingalikeun dina tooltip. Upami palsu, innerTextharta 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 autogeus 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 thisdisetel 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.onrojongan). 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 titlebakal nyuntik kana .tooltip-inner. .tooltip-arrowbakal janten panah tooltip. Unsur wrapper pangluarna kudu boga .tooltipkelas na role="tooltip".
title string, unsur, fungsi '' Nilai judul standar upami titleatribut teu aya. Upami fungsina dipasihkeun, éta bakal disebat sareng thisrujukanna 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.tooltipacara 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.tooltipacara 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.tooltipatawa hidden.bs.tooltipkajadian 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' })
Metoda setContentnarima objectargumen, dimana unggal sipat-konci mangrupakeun stringpamilih 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 hidemetode 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.tooltipkajadian nalika template tooltip geus ditambahkeun kana DOM.
show.bs.tooltip Kajadian ieu langsung hurung nalika showmetode 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()