Saltatu eduki nagusira Saltatu dokumentuen nabigaziora
Check
in English

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, edo bootstrap.bundle.min.jsPopper 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- disabledelementu 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.

Lehenespenez, osagai honek barneko edukien desinfektatzailea erabiltzen du, berariaz onartzen ez diren HTML elementuak kentzen dituena. Ikusi desinfektatzaileen atala gure JavaScript dokumentazioan xehetasun gehiago lortzeko.
Osagai honen animazio-efektua prefers-reduced-motionmultimedia 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))

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 .

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>
Anima zaitez zure HTML titleedo biak erabiltzeko. data-bs-titleErabiltzen denean title, Popperrek automatikoki ordezkatuko data-bs-titledu elementua errendatzen denean.

Tresna-aholku pertsonalizatuak

v5.2.0-n gehitua

Tresna-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);
}
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>

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 gehitua

Bootstrap-en CSS aldagaien bilakaeraren ikuspegiaren barruan, tresna-informazioek orain CSS aldagai lokalak aktibatuta .tooltiperabiltzen 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 autoetascroll

Tresn-informazioaren posizioa automatikoki aldatzen saiatzen da edukiontzi nagusi batek gure gunea duen overflow: autoedo overflow: scrollatsegin duenean .table-responsive, baina hala ere jatorrizko kokapenari eusten dio. Hau konpontzeko, ezarri boundaryaukera (aukera erabiliz irauli popperConfigaldagailurako) 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 dataatributu bat baino ez da eta titletresna-aholkua izan nahi duzun HTML elementuan. Tresna-informazio baten markaketa sinple samarra da, nahiz eta posizio bat behar duen (lehenespenez, toppluginak 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 hoverzure 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 disabledez 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".

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>

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 titlebalioa izango da 456eta 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}'.

Kontuan izan segurtasun arrazoiengatik sanitize, sanitizeFn, eta allowListaukerak 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- titleinformazioan errendatuko dira. Faltsua bada, innerTextpropietatea 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. thisTestuingurua 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.onPraktikan, 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- titleinformazioa injektatuko da .tooltip-inner. .tooltip-arrowtresna-informazioaren gezia bihurtuko da. Kanpoko bilgarri-elementuak .tooltipklasea eta role="tooltip".
title katea, elementua, funtzioa '' Izenburuaren balio lehenetsia titleatributua ez badago. thisFuntzio 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 ( selectoraukera 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.tooltipgertaera 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.tooltipgertaera 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.tooltipedo hidden.bs.tooltipgertaera 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' })
setContentMetodoak argumentu bat onartzen du , objectnon propietate-gako bakoitza baliozko stringhautatzailea den popover txantiloiaren barruan, eta erlazionatutako propietate-balio bakoitza string| element| function| null

Gertaerak

Gertaera Deskribapena
hide.bs.tooltip Gertaera hau berehala abiarazten da hideinstantzia-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.tooltipinformazio txantiloia DOM-era gehitu denean.
show.bs.tooltip Gertaera hau berehala abiarazten da showinstantzia-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()