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.js
või kasutama seda,bootstrap.bundle.min.js
mis 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
.disabled
võidisabled
elementide 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.
prefers-reduced-motion
meediumipä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-toggle
atribuudi järgi, näiteks järgmiselt:
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
Vihjeid linkide kohta
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.
<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
või
data-bs-title
oma HTML-is. Kasutamisel
title
asendab Popper
data-bs-title
selle elemendi renderdamisel automaatselt järgmisega.
Kohandatud tööriistavihjed
Lisatud versioonisse v5.2.0Saate 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);
}
<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.0Bootstrapi areneva CSS-muutujate lähenemisviisi osana kasutavad tööriistaspikrid nüüd .tooltip
tä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 auto
jascroll
Tööriistavihje positsiooni üritatakse automaatselt muuta, kui ülemkonteineris on meie ümbris overflow: auto
või overflow: scroll
meeldib .table-responsive
sellele, kuid säilitab siiski algse paigutuse asukoha. Selle lahendamiseks määrake boundary
suvand (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 data
atribuut ja title
HTML-elemendil, mille kohta soovite vihjet, on. Tööriistaspikri loodud märgistus on üsna lihtne, kuigi see nõuab positsiooni (vaikimisi top
on 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 hover
töö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 disabled
ei 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"
.
<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 title
väärtus 456
ja 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}'
.
sanitize
,
sanitizeFn
ja
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. title Kui see on tõene, renderdatakse kohtspikrites olevad HTML-sildid kohtspikris. Kui see on väär, innerText kasutatakse 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 auto on 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 this mää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.on tugi). 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 title süstitakse .tooltip-inner . .tooltip-arrow muutub tööriistaspikri nooleks. Äärepoolsel ümbriselemendil peaks olema .tooltip klass ja role="tooltip" . |
title |
string, element, funktsioon | '' |
Pealkirja vaikeväärtus, kui title atribuuti pole. Kui funktsioon on antud, kutsutakse see välja nii, et selle this viide 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.tooltip sü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.tooltip sü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.tooltip või hidden.bs.tooltip sü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' })
setContent
aktsepteerib
argumendi, kus iga atribuudivõti on hüpikmallis
object
kehtiv
valija ja iga seotud atribuudi väärtus võib olla |
|
|
string
string
element
function
null
Sündmused
Sündmus | Kirjeldus |
---|---|
hide.bs.tooltip |
See sündmus käivitatakse kohe, kui hide eksemplari 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.tooltip sündmust, kui kohtspikri mall on DOM-i lisatud. |
show.bs.tooltip |
See sündmus käivitub kohe, kui show eksemplari 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()