Erreminta-aholkuak
Bootstrap tresna-aholku pertsonalizatuak CSS eta JavaScript erabiliz CSS3 erabiliz animazioetarako eta datu-bs-atributuak tokiko izenburu biltegiratzeko dokumentazioa eta adibideak.
Ikuspegi orokorra
Tooltip plugina erabiltzean jakin beharrekoak:
- Tresna-informazioak Popper hirugarrenen liburutegian oinarritzen dira kokatzeko. Popper.min.js sartu behar duzu aurretik
bootstrap.js
, edobootstrap.bundle.min.js
Popper duen bat erabili. - Tresn-informazioak errendimendu arrazoiengatik aukeratzen dira, beraz, zuk zeuk hasieratu behar dituzu .
- Luzera zeroko tituluak dituzten tresna-aholkuak ez dira inoiz bistaratzen.
- Zehaztu
container: 'body'
osagai konplexuagoetan (adibidez, gure sarrera-taldeak, botoi-taldeak, etab.) arazoak errendatzea saihesteko. - Ezkutuko elementuei buruzko argibideak abiarazteak ez du funtzionatuko.
- Elementuentzako tresna-informazioak bilgarri
.disabled
-disabled
elementu batean abiarazi behar dira. - Lerro bat baino gehiago hartzen dituzten hiperesteketatik abiarazten denean, tresna-aholkuak zentratuta egongo dira. Erabili
white-space: nowrap;
zure aldean<a>
portaera hori saihesteko. - Tresn-informazioak ezkutatu egin behar dira dagozkien elementuak DOMetik kendu aurretik.
- Tresn-informazioak itzaleko DOM baten barruan dagoen elementu bati esker abiarazi daitezke.
Hori guztia lortu duzu? Bikaina, ikus dezagun nola funtzionatzen duten adibide batzuekin.
prefers-reduced-motion
multimedia kontsultaren menpe dago. Ikusi
gure irisgarritasun-dokumentazioaren mugimendu murriztuaren atala .
Adibideak
Gaitu tresna-aholkuak
Goian esan bezala, tresna-aholkuak hasieratu behar dituzu erabili ahal izateko. Orrialde bateko tresna-aholku guztiak hasieratzeko modu bat bere atributuaren arabera hautatzea litzateke data-bs-toggle
, honela:
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
Loturei buruzko tresna-aholkuak
Pasatu ondoko esteken gainean tresna-aholkuak ikusteko:
Leku-markaren testua lerroko esteka batzuk argibideekin erakusteko. Hau orain betegarria besterik ez da, hiltzailerik ez. Hemen jarritako edukia benetako testuaren presentzia imitatzeko . Eta hori guztia mundu errealeko egoeretan erabilita tresna-informazioak nola itxura izango luketen jakiteko. Beraz, zorionez, orain ikusi duzula esteketako aholku hauek praktikan nola funtziona dezaketen, behin zure webgunean edo proiektuan erabiltzen dituzunean .
<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
edo
biak erabiltzeko. data-bs-title
Erabiltzen denean
title
, Popperrek automatikoki ordezkatuko
data-bs-title
du elementua errendatzen denean.
Tresna-aholku pertsonalizatuak
v5.2.0-n gehituaTresna-aholkuen itxura pertsonaliza dezakezu CSS aldagaiak erabiliz . Klase pertsonalizatu bat ezarri dugu data-bs-custom-class="custom-tooltip"
gure itxura pertsonalizatua zabaltzeko eta CSS aldagai lokal bat gainidazteko erabiltzeko.
.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>
Norabideak
Pasatu sakatu beheko botoien gainean lau tresna-aholkuak ikusteko: goiko, eskuineko, beheko eta ezkerreko. Jarraibideak islatzen dira Bootstrap RTL-n erabiltzean.
<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>
Eta HTML pertsonalizatua gehituta:
<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 batekin:
CSS
Aldagaiak
v5.2.0-n gehituaBootstrap-en CSS aldagaien bilakaeraren ikuspegiaren barruan, tresna-informazioek orain CSS aldagai lokalak aktibatuta .tooltip
erabiltzen dituzte denbora errealean pertsonalizatzeko. CSS aldagaien balioak Sass bidez ezartzen dira, beraz, Sass pertsonalizazioa ere onartzen da oraindik ere.
--#{$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};
Sass aldagaiak
$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
Erabilera
Tooltip pluginak edukia eta markak sortzen ditu eskaeraren arabera, eta, modu lehenetsian, tresna-aholkuak jartzen ditu abiarazte-elementuaren ondoren.
Aktibatu tresna-informazioa JavaScript bidez:
const exampleEl = document.getElementById('example')
const tooltip = new bootstrap.Tooltip(exampleEl, options)
Gainezka auto
etascroll
Tresn-informazioaren posizioa automatikoki aldatzen saiatzen da edukiontzi nagusi batek gure gunea duen overflow: auto
edo overflow: scroll
atsegin duenean .table-responsive
, baina hala ere jatorrizko kokapenari eusten dio. Hau konpontzeko, ezarri boundary
aukera (aukera erabiliz irauli popperConfig
aldagailurako) edozein HTMLElement balio lehenetsia gainidazteko 'clippingParents'
, adibidez document.body
:
const tooltip = new bootstrap.Tooltip('#example', {
boundary: document.body // or document.querySelector('#boundary')
})
Markatzea
Tresna-informazio baterako beharrezkoa den marka data
atributu bat baino ez da eta title
tresna-aholkua izan nahi duzun HTML elementuan. Tresna-informazio baten markaketa sinple samarra da, nahiz eta posizio bat behar duen (lehenespenez, top
pluginak ezarrita).
Teklatuaren eta laguntza-teknologien erabiltzaileentzako tresna-informazioak funtzionatzea
Tradizionalki teklatuan fokua eta elkarreragilea diren HTML elementuei (adibidez, estekak edo inprimaki-kontrolak, adibidez) tresna-aholkuak gehitu behar dizkiezu. HTML elementu arbitrarioak (adibidez, <span>
s) atributua gehituta foka daitezkeen arren tabindex="0"
, honek teklatu erabiltzaileentzako elementu interaktiboak ez diren elementuetan tabulazio gogaikarri eta nahasgarriak gehituko ditu eta gaur egun laguntza-teknologia gehienek ez dute tresnaren berri ematen egoera honetan. Gainera, ez zaitez bakarrik fidatu hover
zure tresna-informazioaren abiarazle gisa, horrek zure tresna-aholkuak ezinezko bihurtuko baititu teklatuaren erabiltzaileentzat.
<!-- 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>
Desgaitutako elementuak
Atributua duten elementuak disabled
ez dira interaktiboak, hau da, erabiltzaileek ezin dituzte bideratu, pasa edo klik egin tresna-informazio bat (edo popover) abiarazteko. Konponbide gisa, tresna-informazioa abiarazi nahi duzu bilgarri batetik <div>
edo <span>
, hobeki teklatua bideratzeko modukoa erabiliz 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>
Aukerak
Aukerak datu-atributuen edo JavaScript bidez pasa daitezkeenez, aukera-izen bat gehi diezaiokezu data-bs-
, honela data-bs-animation="{value}"
. Ziurtatu aukera-izenaren kasu-mota " camelCase "-tik " kebab-case "-ra aldatzen duzula aukerak datu-atributuen bidez pasatzen dituzunean. Adibidez, erabili data-bs-custom-class="beautifier"
ordez data-bs-customClass="beautifier"
.
Bootstrap 5.2.0-tik aurrera, osagai guztiek erreserbatutako datu-atributu esperimentaldata-bs-config
bat onartzen dute , osagaien konfigurazio sinplea JSON kate gisa gorde dezakeena. Elementu batek data-bs-config='{"delay":0, "title":123}'
eta data-bs-title="456"
atributuak dituenean, azken title
balioa izango da 456
eta bereizitako datu-atributuek gailuan emandako balioak gainidatziko dituzte data-bs-config
. Gainera, lehendik dauden datu-atributuek JSON balioak gorde ditzakete data-bs-delay='{"show":0,"hide":150}'
.
sanitize
,
sanitizeFn
, eta
allowList
aukerak ezin direla eman datu-atributuak erabiliz.
Izena | Mota | Lehenetsia | Deskribapena |
---|---|---|---|
allowList |
objektua | Balio lehenetsia | Baimendutako atributuak eta etiketak dituen objektua. |
animation |
boolearra | true |
Aplikatu CSS desagertze-trantsizioa tresna-informazioari. |
boundary |
katea, elementua | 'clippingParents' |
Tresnaren argibidearen gainezka-murriztapenaren muga (Popper-en preventOverflow aldatzaileari soilik aplikatzen zaio). Lehenespenez, 'clippingParents' HTMLElement erreferentzia bat da eta onartu dezake (JavaScript bidez soilik). Informazio gehiagorako, ikusi Popper-en detectOverflow docs . |
container |
kate, elementu, faltsu | false |
Elementu zehatz bati eransten dio tresna-informazioa. Adibidea container: 'body' :. Aukera hau bereziki erabilgarria da, tresna-abiarazlea dokumentuaren fluxuan abiarazte-elementuaren ondoan kokatzeko aukera ematen baitu, eta horrek tresna-abiarazlea elementu abiarazletik mugitzea eragotziko du leihoaren tamaina aldatzean. |
customClass |
katea, funtzioa | '' |
Gehitu klaseak tresna-argitara erakusten denean. Kontuan izan klase hauek txantiloian zehaztutako klaseez gain gehituko direla. Hainbat klase gehitzeko, bereiz itzazu zuriuneekin: 'class-1 class-2' . Klase-izen gehigarriak dituen kate bakarra itzuli behar duen funtzio bat ere pasa dezakezu. |
delay |
zenbakia, objektua | 0 |
Atzeratu tresna-informazioa erakusteko eta ezkutatzeko (ms) — ez dagokio eskuzko abiarazle motari. Zenbaki bat ematen bada, atzerapena aplikatuko da ezkutatzeko/erakusteko. Objektuaren egitura hau da: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
array | ['top', 'right', 'bottom', 'left'] |
Definitu ordezko kokapenak array-ko kokapen-zerrenda bat emanez (hobespenen arabera). Informazio gehiagorako, jo Popperren portaera dokumentuetara . |
html |
boolearra | false |
Baimendu HTML tresna-informazioan. Egia bada, tresna-informazioko HTML etiketak tresna- title informazioan errendatuko dira. Faltsua bada, innerText propietatea erabiliko da edukia DOMean txertatzeko. Erabili testua XSS erasoekin kezkatuta bazaude. |
offset |
array, katea, funtzioa | [0, 0] |
Aholkuaren desplazamendua bere xedearekiko. Datu-atributuetan kate bat pasa dezakezu komaz bereizitako balioekin: data-bs-offset="10,20" . Desplazamendua zehazteko funtzio bat erabiltzen denean, lehen argumentu gisa popper-aren kokapena, erreferentzia eta popper zuzenak dituen objektu batekin deitzen da. DOM nodo abiarazteko elementua bigarren argumentu gisa pasatzen da. Funtzioak bi zenbaki dituen array bat itzuli behar du: skidding , distance . Informazio gehiago lortzeko, ikusi Popper-en offset docs . |
placement |
katea, funtzioa | 'top' |
Aholkua nola kokatu: automatikoa, goian, behean, ezkerrean, eskuinean. Zehazten denean auto , tresna-informazioa dinamikoki berbideratuko du. Funtzio bat kokapena zehazteko erabiltzen denean, tresna-informazioa DOM nodoa deitzen zaio lehen argumentu gisa eta abiarazte elementua DOM nodoa bigarren gisa. this Testuingurua argibide-instantzian ezartzen da . |
popperConfig |
nulu, objektu, funtzio | null |
Bootstrap-en Popper konfigurazio lehenetsia aldatzeko, ikusi Popper-en konfigurazioa . Popper konfigurazioa sortzeko funtzio bat erabiltzen denean, Bootstrap-en Popper konfigurazio lehenetsia duen objektu batekin deitzen da. Lehenetsia zure konfigurazioarekin erabiltzen eta batzen laguntzen dizu. Funtzioak konfigurazio-objektu bat itzuli behar du Popperrentzat. |
sanitize |
boolearra | true |
Gaitu edo desgaitu desinfekzioa. Aktibatzen bada 'template' , 'content' eta 'title' aukerak garbituko dira. |
sanitizeFn |
nulua, funtzioa | null |
Hemen zure higienizazio funtzioa horni dezakezu. Hau erabilgarria izan daiteke garbiketa egiteko liburutegi dedikatu bat erabili nahi baduzu. |
selector |
katea, faltsua | false |
Hautatzailea ematen bada, tresna-informazioko objektuak zehaztutako helburuetara delegatuko dira. jQuery.on Praktikan, hau dinamikoki gehitutako DOM elementuei ( euskarria) tresna-aholkuak aplikatzeko erabiltzen da . Ikusi ale hau eta informazio-adibide bat . |
template |
katea | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Oinarrizko HTML tresna-informazioa sortzean erabiltzeko. Tresna- title informazioa injektatuko da .tooltip-inner . .tooltip-arrow tresna-informazioaren gezia bihurtuko da. Kanpoko bilgarri-elementuak .tooltip klasea eta role="tooltip" . |
title |
katea, elementua, funtzioa | '' |
Izenburuaren balio lehenetsia title atributua ez badago. this Funtzio bat ematen bada, popover-a erantsita dagoen elementuari erreferentzia ezarrita deituko zaio . |
trigger |
katea | 'hover focus' |
Tresna-informazioa nola abiarazten den: klik egin, pasa ezazu, fokatu, eskuliburua. Hainbat abiarazle pasa ditzakezu; bereiz itzazu tarte batekin. tresna-informazioa , eta metodoen 'manual' bidez programatikoki abiaraziko dela adierazten du ; balio hori ezin da beste edozein abiarazlerekin konbinatu. bere kabuz teklatuaren bidez abiarazi ezin diren tresna-aholkuak sortuko dira, eta teklatuaren erabiltzaileei informazio bera helarazteko metodo alternatiboak badaude soilik erabili behar dira..tooltip('show') .tooltip('hide') .tooltip('toggle') 'hover' |
Banakako argibideetarako datu-atributuak
Banakako argibideetarako aukerak bestela datu-atributuak erabiliz zehaztu daitezke, goian azaldu bezala.
Funtzioa erabilizpopperConfig
const tooltip = new bootstrap.Tooltip(element, {
popperConfig(defaultBsPopperConfig) {
// const newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Metodoak
Metodo asinkronoak eta trantsizioak
API metodo guztiak asinkronoak dira eta trantsizio bat hasten dute . Trantsizioa hasi bezain laster baina amaitu baino lehen itzultzen dira deitzailearengana . Gainera, trantsizio-osagai baten metodo-dei bati ez ikusi egingo zaio .
Ikus gure JavaScript dokumentazioa informazio gehiago lortzeko .
Metodoa | Deskribapena |
---|---|
disable |
Elementu baten tresna-informazioa erakusteko gaitasuna kentzen du. Tresna-informazioa berriro gaituta badago soilik erakutsi ahal izango da. |
dispose |
Elementu baten informazioa ezkutatu eta suntsitzen du (DOM elementuan gordetako datuak kentzen ditu). Ordezkapena erabiltzen duten tresna- informazioak ( selector aukera erabiliz sortzen direnak ) ezin dira banan-banan suntsitu ondorengo abiarazle-elementuetan. |
enable |
Elementu baten argibideari erakusteko gaitasuna ematen dio. Tresn-informazioak lehenespenez gaituta daude. |
getInstance |
Metodo estatikoa , DOM elementu batekin erlazionatutako tresna-informazio instantzia lortzeko edo berri bat sortzeko aukera ematen duena, hasieratu ez bazen. |
getOrCreateInstance |
Metodo estatikoa , DOM elementu batekin erlazionatutako tresna-informazio instantzia lortzeko edo berri bat sortzeko aukera ematen duena, hasieratu ez bazen. |
hide |
Elementu baten argibidea ezkutatzen du. Deitzen duenari itzultzen zaio tresna-informazioa benetan ezkutatu baino lehen (hau da, hidden.bs.tooltip gertaera gertatu baino lehen). Hau tresna-informazioaren "eskuz" abiaraztekotzat hartzen da. |
setContent |
Hasieratu ondoren tresna-informazioaren edukia aldatzeko modua ematen du. |
show |
Elementu baten argibidea erakusten du. Deitzaileari itzultzen zaio tresna-informazioa benetan erakutsi aurretik (hau da, shown.bs.tooltip gertaera gertatu baino lehen). Hau tresna-informazioaren "eskuz" abiaraztekotzat hartzen da. Luzera zeroko tituluak dituzten tresna-aholkuak ez dira inoiz bistaratzen. |
toggle |
Elementu baten tresna-informazioa aktibatzen du. Deitzaileari itzultzen zaio tresna-informazioa benetan erakutsi edo ezkutatu aurretik (hau da, shown.bs.tooltip edo hidden.bs.tooltip gertaera gertatu baino lehen). Hau tresna-informazioaren "eskuz" abiaraztekotzat hartzen da. |
toggleEnabled |
Elementu baten tresna-informazioa erakusteko edo ezkutatzeko gaitasuna aldatzen du. |
update |
Elementu baten argibidearen posizioa eguneratzen du. |
const tooltip = bootstrap.Tooltip.getInstance('#example') // Returns a Bootstrap tooltip instance
// setContent example
tooltip.setContent({ '.tooltip-inner': 'another title' })
setContent
Metodoak argumentu bat onartzen du
,
object
non propietate-gako bakoitza baliozko
string
hautatzailea den popover txantiloiaren barruan, eta erlazionatutako propietate-balio bakoitza
string
|
element
|
function
|
null
Gertaerak
Gertaera | Deskribapena |
---|---|
hide.bs.tooltip |
Gertaera hau berehala abiarazten da hide instantzia-metodoa deitzen denean. |
hidden.bs.tooltip |
Gertaera hau abiarazten da popover-a erabiltzaileari ezkutatzen amaitzen denean (CSS trantsizioak amaitu arte itxarongo da). |
inserted.bs.tooltip |
Gertaera hau gertaeraren ondoren abiarazten da tresna- show.bs.tooltip informazio txantiloia DOM-era gehitu denean. |
show.bs.tooltip |
Gertaera hau berehala abiarazten da show instantzia-metodoa deitzen denean. |
shown.bs.tooltip |
Gertaera hau abiarazten da popover-a erabiltzailearentzat ikusgai jartzen denean (CSS trantsizioak amaitu arte itxarongo da). |
const myTooltipEl = document.getElementById('myTooltip')
const tooltip = bootstrap.Tooltip.getOrCreateInstance(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', () => {
// do something...
})
tooltip.hide()