Mine põhisisu juurde Jätke dokumentide navigeerimise juurde
Check
in English

Tööriistanõuanded

Dokumentatsioon ja näited kohandatud Bootstrapi tööriistavihjete lisamiseks CSS-i ja JavaScriptiga, kasutades CSS3 animatsioonide jaoks ja data-bs-atribuute kohaliku pealkirja salvestamiseks.

Ülevaade

Mida peaksite tööriistavihje pistikprogrammi kasutamisel teadma:

  • Tööriistanäpunäited toetuvad positsioneerimiseks kolmanda osapoole teegile Popper . Peate sisestama popper.min.js enne sõnu bootstrap.jsvõi kasutama seda, bootstrap.bundle.min.jsmis sisaldab Popperit.
  • Tööriistanäpunäited on toimivuse huvides lubatud, seega peate need ise lähtestama .
  • Nullpikkusega pealkirjadega vihjeid ei kuvata kunagi.
  • Määrake container: 'body', et vältida renderdamisprobleeme keerukamates komponentides (nt meie sisendrühmad, nupurühmad jne).
  • Peidetud elementide tööriistavihjete käivitamine ei tööta.
  • Ümbriselemendil tuleb käivitada tööriistaspikrid .disabledvõi disabledelementide jaoks.
  • Kui käivitatakse mitut rida hõlmavate hüperlinkide kaudu, tsentreeritakse kohtspikrid. Sellise käitumise vältimiseks kasutage white-space: nowrap;seda oma peal .<a>
  • Tööriistavihjed peavad olema peidetud enne, kui nende vastavad elemendid on DOM-ist eemaldatud.
  • Tööriistanäpunäiteid saab käivitada tänu vari-DOM-i sees olevale elemendile.

Kas teil on see kõik? Suurepärane, vaatame mõne näitega, kuidas need töötavad.

Vaikimisi kasutab see komponent sisseehitatud sisupuhastusvahendit, mis eemaldab kõik HTML-i elemendid, mis pole otseselt lubatud. Lisateavet leiate meie JavaScripti dokumentatsiooni desinfitseerimisvahendite jaotisest .
Selle komponendi animatsiooniefekt sõltub prefers-reduced-motionmeediumipäringust. Vaadake meie juurdepääsetavuse dokumentatsiooni vähendatud liikumise jaotist .

Näited

Luba tööriistaspikrid

Nagu eespool mainitud, peate enne tööriistavihjete kasutamist lähtestama. Üks viis kõigi lehe tööriistaspikrite lähtestamiseks on valida need nende data-bs-toggleatribuudi järgi, näiteks järgmiselt:

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

Tööriistanäpunäidete nägemiseks hõljutage kursorit allolevate linkide kohal.

Kohatäidetekst, et näidata mõningaid tekstisiseseid linke koos kohtspikritega. See on nüüd lihtsalt täiteaine, mitte tapja. Sisu, mis on siia paigutatud lihtsalt tegeliku teksti jäljendamiseks . Ja seda kõike vaid selleks, et anda teile aimu, kuidas näeksid tööriistavihjed välja reaalsetes olukordades. Loodetavasti olete nüüd näinud, kuidas need linkide tööriistanäpunäited praktikas toimivad, kui olete neid oma saidil või projektis kasutanud.

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>
Kasutage kas titlevõi data-bs-titleoma HTML-is. Kasutamisel titleasendab Popper data-bs-titleselle elemendi renderdamisel automaatselt järgmisega.

Kohandatud tööriistavihjed

Lisatud versioonisse v5.2.0

Saate kohandada kohtspikrite välimust CSS-i muutujate abil . Seadistame kohandatud klassi data-bs-custom-class="custom-tooltip"oma kohandatud välimuse ulatuseks ja kasutame seda kohaliku CSS-muutuja alistamiseks.

.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>

Juhised

Hõljutage kursorit allolevate nuppude kohal, et näha nelja tööriistaspikri suunda: ülemine, parem, alumine ja vasak. Kui kasutate RTL-is Bootstrapi, siis juhiseid peegeldatakse.

<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>

Ja kohandatud HTML-iga lisatud:

<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>

SVG-ga:

CSS

Muutujad

Lisatud versioonisse v5.2.0

Bootstrapi areneva CSS-muutujate lähenemisviisi osana kasutavad tööriistaspikrid nüüd .tooltiptäiustatud reaalajas kohandamiseks kohalikke CSS-muutujaid. CSS-i muutujate väärtused määratakse Sassi kaudu, seega toetatakse endiselt ka Sassi kohandamist.

  --#{$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};
  

Sassi muutujad

$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

Kasutamine

Tööriistavihje pistikprogramm loob nõudmisel sisu ja märgistuse ning asetab vaikimisi vihjed nende päästikuelemendi järele.

Käivitage kohtspikker JavaScripti kaudu:

const exampleEl = document.getElementById('example')
const tooltip = new bootstrap.Tooltip(exampleEl, options)
Ülevool autojascroll

Tööriistavihje positsiooni üritatakse automaatselt muuta, kui ülemkonteineris on meie ümbris overflow: autovõi overflow: scrollmeeldib .table-responsivesellele, kuid säilitab siiski algse paigutuse asukoha. Selle lahendamiseks määrake boundarysuvand (suvandit kasutava flip modifikaatori jaoks popperConfig) suvalisele HTMLElementile, et alistada vaikeväärtus 'clippingParents', näiteks document.body:

const tooltip = new bootstrap.Tooltip('#example', {
  boundary: document.body // or document.querySelector('#boundary')
})

Märgistus

Tööriistaspikri nõutav märgistus on ainult dataatribuut ja titleHTML-elemendil, mille kohta soovite vihjet, on. Tööriistaspikri loodud märgistus on üsna lihtne, kuigi see nõuab positsiooni (vaikimisi topon pistikprogrammi poolt määratud).

Tööriistanäpunäidete kasutamine klaviatuuri ja abitehnoloogia kasutajatele

Peaksite lisama ainult HTML-i elementidele vihjeid, mis on traditsiooniliselt klaviatuurile keskenduvad ja interaktiivsed (nt lingid või vormi juhtelemendid). Kuigi suvalisi HTML-i elemente (nt <span>s) saab tabindex="0"atribuudi lisamisega fokusseeritavaks muuta, lisab see klaviatuurikasutajatele potentsiaalselt tüütuid ja segadusse ajavaid tabelduspunkte mitteinteraktiivsetele elementidele ning enamik abitehnoloogiaid ei anna praegu selles olukorras tööriistavihjet teada. Lisaks ärge toetuge ainult hovertööriistaspikri käivitajale, kuna see muudab teie vihjete käivitamise klaviatuuri kasutajatel võimatuks.

<!-- 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>

Keelatud elemendid

Atribuudiga elemendid disabledei ole interaktiivsed, mis tähendab, et kasutajad ei saa kohtspikri (või hüpikakna) käivitamiseks teravustada, hõljutada või klõpsata. Lahendusena võiksite käivitada tööriistaspikri ümbrisest <div>või <span>ideaaljuhul klaviatuurile teravustatavast, kasutades 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>

Valikud

Kuna suvandeid saab edastada andmeatribuutide või JavaScripti kaudu, saate valikule lisada valiku nime data-bs-, nagu näiteks data-bs-animation="{value}". Suvandite andmeatribuutide kaudu edastamisel muutke suvandi nime tõuketüüp „ camelCase ” asemel „ kebab-case ”. Näiteks data-bs-custom-class="beautifier"kasutage data-bs-customClass="beautifier".

Alates versioonist Bootstrap 5.2.0 toetavad kõik komponendid eksperimentaalset reserveeritud andmeatribuuti data-bs-config, mis mahutab lihtsa komponendi konfiguratsiooni JSON-stringina. Kui elemendil on atribuudid data-bs-config='{"delay":0, "title":123}'ja data-bs-title="456", on lõplik titleväärtus 456ja eraldi andmeatribuudid alistavad väärtused, mis on antud kuupäeval data-bs-config. Lisaks võivad olemasolevad andmeatribuudid sisaldada JSON-i väärtusi, nagu data-bs-delay='{"show":0,"hide":150}'.

Pange tähele, et turvakaalutlustel ei saa andmeatribuutide abil anda suvandeid sanitize, sanitizeFnja suvandeid.allowList
Nimi Tüüp Vaikimisi Kirjeldus
allowList objektiks Vaikeväärtus Objekt, mis sisaldab lubatud atribuute ja silte.
animation tõeväärtus true Rakendage kohtspikrile CSS-i tuhmumise üleminek.
boundary string, element 'clippingParents' Tööriistaspikri ülevoolupiirangu piir (kehtib ainult Popperi preventOverflow modifikaatorile). Vaikimisi on see 'clippingParents'ja võib aktsepteerida HTMLElementi viidet (ainult JavaScripti kaudu). Lisateavet leiate Popperi detectOverflow dokumentidest .
container string, element, vale false Lisab kohtspikri konkreetsele elemendile. Näide: container: 'body'. See suvand on eriti kasulik, kuna see võimaldab teil asetada kohtspikri dokumendi voos käivitava elemendi lähedale – see takistab tööriistaspikril akna suuruse muutmise ajal käivitavast elemendist eemale hõljuma.
customClass string, funktsioon '' Lisage kohtspikrile klassid, kui see kuvatakse. Pange tähele, et need klassid lisatakse lisaks mallis määratud klassidele. Mitme klassi lisamiseks eraldage need tühikutega: 'class-1 class-2'. Saate edastada ka funktsiooni, mis peaks tagastama ühe stringi, mis sisaldab täiendavaid klassinimesid.
delay number, objekt 0 Tööriistavihje kuvamise ja peitmise viivitus (ms) – ei kehti käsitsi käivitamise tüübi puhul. Kui number on esitatud, rakendatakse viivitust mõlemale peitmisele/näitamisele. Objekti struktuur on: delay: { "show": 500, "hide": 100 }.
fallbackPlacements massiivi ['top', 'right', 'bottom', 'left'] Määratlege varupaigutused, esitades massiivi paigutuste loendi (eelistuse järjekorras). Lisateabe saamiseks vaadake Popperi käitumisdokumente .
html tõeväärtus false Luba kohtspikris HTML. titleKui see on tõene, renderdatakse kohtspikrites olevad HTML-sildid kohtspikris. Kui see on väär, innerTextkasutatakse atribuuti sisu DOM-i sisestamiseks. Kui olete XSS-i rünnakute pärast mures, kasutage teksti.
offset massiiv, string, funktsioon [0, 0] Tööriistavihje nihe selle sihtmärgi suhtes. Saate andmeatribuutides stringi edastada komadega eraldatud väärtustega, näiteks: data-bs-offset="10,20". Kui funktsiooni kasutatakse nihke määramiseks, kutsutakse seda esile objektiga, mis sisaldab esimese argumendina popperi paigutust, viidet ja popper rects. Käivitav element DOM-sõlm edastatakse teise argumendina. Funktsioon peab tagastama kahe numbriga massiivi: libisemine , kaugus . Lisateabe saamiseks vaadake Popperi nihkedokumente .
placement string, funktsioon 'top' Tööriistavihje paigutamine: automaatne, ülemine, alumine, vasak, parem. Kui autoon määratud, suunab see kohtspikri dünaamiliselt ümber. Kui funktsiooni kasutatakse paigutuse määramiseks, kutsutakse see välja, mille esimeseks argumendiks on tööriistavihje DOM-sõlm ja teiseks käivitava elemendi DOM-sõlm. Kontekst thismääratakse kohtspikri eksemplarile.
popperConfig null, objekt, funktsioon null Bootstrapi Popperi vaikekonfiguratsiooni muutmiseks vaadake jaotist Popperi konfiguratsioon . Kui Popperi konfiguratsiooni loomiseks kasutatakse funktsiooni, kutsutakse see välja objektiga, mis sisaldab Bootstrapi Popperi vaikekonfiguratsiooni. See aitab teil kasutada ja liita vaikeseadeid teie enda konfiguratsiooniga. Funktsioon peab Popperi jaoks tagastama konfiguratsiooniobjekti.
sanitize tõeväärtus true Lubage või keelake desinfitseerimine. Kui see on aktiveeritud 'template', desinfitseeritakse valikud 'content'.'title'
sanitizeFn null, funktsioon null Siin saate pakkuda oma desinfitseerimisfunktsiooni. See võib olla kasulik, kui eelistate desinfitseerimiseks kasutada spetsiaalset raamatukogu.
selector string, vale false Kui valija on ette nähtud, delegeeritakse tööriistavihje objektid määratud sihtmärkidele. Praktikas kasutatakse seda ka tööriistavihjete rakendamiseks dünaamiliselt lisatud DOM-i elementidele ( jQuery.ontugi). Vaadake seda numbrit ja informatiivset näidet .
template string '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' Algne HTML, mida kasutada kohtspikri loomisel. Tööriistavihje titlesüstitakse .tooltip-inner. .tooltip-arrowmuutub tööriistaspikri nooleks. Äärepoolsel ümbriselemendil peaks olema .tooltipklass ja role="tooltip".
title string, element, funktsioon '' Pealkirja vaikeväärtus, kui titleatribuuti pole. Kui funktsioon on antud, kutsutakse see välja nii, et selle thisviide on seatud elemendile, millele hüpikaken on lisatud.
trigger string 'hover focus' Kuidas tööriistavihje käivitatakse: klõpsake, hõljutage kursorit, fokusseerige, käsitsi. Võite läbida mitu päästikut; eraldage need tühikuga. 'manual'näitab, et kohtspikker käivitatakse programmiliselt meetodite ja kaudu .tooltip('show'); seda väärtust ei saa kombineerida ühegi teise päästikuga. üksinda põhjustab vihjeid, mida ei saa klaviatuuri kaudu käivitada, ja neid tuleks kasutada ainult siis, kui on olemas alternatiivsed meetodid sama teabe edastamiseks klaviatuuri kasutajatele..tooltip('hide').tooltip('toggle')'hover'

Andmete atribuudid üksikute kohtspikrite jaoks

Üksikute tööriistavihjete valikuid saab alternatiivselt määrata andmeatribuutide abil, nagu eespool selgitatud.

Funktsiooni kasutamine koospopperConfig

const tooltip = new bootstrap.Tooltip(element, {
  popperConfig(defaultBsPopperConfig) {
    // const newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

meetodid

Asünkroonsed meetodid ja üleminekud

Kõik API meetodid on asünkroonsed ja alustavad üleminekut . Nad naasevad helistaja juurde kohe pärast ülemineku algust, kuid enne selle lõppu . Lisaks ignoreeritakse üleminekukomponendi meetodikutset .

Lisateabe saamiseks vaadake meie JavaScripti dokumentatsiooni .

meetod Kirjeldus
disable Eemaldab elemendi kohtspikri kuvamise võimaluse. Tööriistavihjet saab kuvada ainult siis, kui see on uuesti lubatud.
dispose Peidab ja hävitab elemendi vihje (eemaldab DOM-elemendil salvestatud andmed). Delegeerimist kasutavaid tööriistavihjeid (mis luuakse suvandiga selector) ei saa järeltulijate päästikuelementide puhul eraldi hävitada.
enable Annab elemendi kohtspikrile võimaluse kuvada. Tööriistad on vaikimisi lubatud.
getInstance Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud kohtspikri eksemplari või luua uue, kui seda ei lähtestatud.
getOrCreateInstance Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud kohtspikri eksemplari või luua uue, kui seda ei lähtestatud.
hide Peidab elemendi kohtspikri. Naaseb helistaja juurde enne, kui kohtspikker on tegelikult peidetud (st enne hidden.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks.
setContent Annab võimaluse muuta kohtspikri sisu pärast selle lähtestamist.
show Näitab elemendi kohtspikri. Naaseb helistaja juurde enne, kui vihje on tegelikult näidatud (st enne shown.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks. Nullpikkusega pealkirjadega vihjeid ei kuvata kunagi.
toggle Lülitab elemendi kohtspikri sisse/välja. Naaseb helistaja juurde enne, kui kohtspikker on tegelikult näidatud või peidetud (st enne shown.bs.tooltipvõi hidden.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks.
toggleEnabled Lülitab elemendi kohtspikri kuvamise või peitmise võimaluse.
update Värskendab elemendi kohtspikri asukohta.
const tooltip = bootstrap.Tooltip.getInstance('#example') // Returns a Bootstrap tooltip instance

// setContent example
tooltip.setContent({ '.tooltip-inner': 'another title' })
Meetod setContentaktsepteerib argumendi, kus iga atribuudivõti on hüpikmallis objectkehtiv valija ja iga seotud atribuudi väärtus võib olla | | | stringstringelementfunctionnull

Sündmused

Sündmus Kirjeldus
hide.bs.tooltip See sündmus käivitatakse kohe, kui hideeksemplari meetod on välja kutsutud.
hidden.bs.tooltip See sündmus käivitatakse, kui hüpikakna kasutaja eest peitmine on lõppenud (ootab, kuni CSS-i üleminekud on lõpule viidud).
inserted.bs.tooltip See sündmus käivitatakse pärast show.bs.tooltipsündmust, kui kohtspikri mall on DOM-i lisatud.
show.bs.tooltip See sündmus käivitub kohe, kui showeksemplari meetod kutsutakse.
shown.bs.tooltip See sündmus käivitatakse, kui hüpikaken on kasutajale nähtavaks tehtud (ootab CSS-i üleminekut).
const myTooltipEl = document.getElementById('myTooltip')
const tooltip = bootstrap.Tooltip.getOrCreateInstance(myTooltipEl)

myTooltipEl.addEventListener('hidden.bs.tooltip', () => {
  // do something...
})

tooltip.hide()