Esasy mazmuna geçiň Docs nawigasiýasyna geçiň
Check
in English

Gurallar

CSS3 we animasiýa üçin CSS3 ulanyp, ýerli Bootstrap gurallaryny goşmak üçin resminamalar we mysallar, ýerli at saklamak üçin maglumat-bs-atributlary.

Gysgaça syn

Gurallar maslahatynyň pluginini ulananyňyzda bilmeli zatlar:

  • Gurallar, ýerleşiş üçin üçünji tarap kitaphanasy Popper -ä bil baglaýar . Öň popper.min.js goşmaly ýa -da Popper-i öz içine alýan bootstrap.jsbirini ulanmaly .bootstrap.bundle.min.js
  • Gurallar öndürijilik sebäplerine görä saýlanýar, şonuň üçin olary özüňiz başlamaly .
  • Nol uzynlykly atlar bilen gurallar hiç haçan görkezilmeýär.
  • container: 'body'Has çylşyrymly komponentlerde kynçylyk döretmezligi kesgitläň (giriş toparlarymyz, düwme toparlarymyz we ş.m.) .
  • Gizlin elementlerdäki gural gurallary işlemez.
  • Gurallar .disabledýa-da disabledelementler üçin gurallar, örtük elementinde bolmaly.
  • Birnäçe setiri öz içine alýan giper-baglanyşyklardan başlanda, gurallar merkezleşdiriler. Bu gylyk-häsiýetden gaça durmak üçin s-leri white-space: nowrap;ulanyň .<a>
  • Gurallar degişli elementleri DOM-dan aýrylmazdan ozal gizlenmeli.
  • Gurallar, kölegeli DOM içindäki bir elementiň kömegi bilen işledilip bilner.

Bularyň hemmesi barmy? Ajaýyp, käbir mysallar bilen nähili işleýändigini göreliň.

Düzgüne görä, bu komponent, aç-açan rugsat berilmeýän islendik HTML elementini ýoklaýan içerki arassalaýjy ulanýar. Has giňişleýin maglumat üçin JavaScript resminamalarymyzdaky arassaçylyk bölümine serediň.
Bu komponentiň animasiýa täsiri prefers-reduced-motionmedia talaplaryna baglydyr. Elýeterlilik resminamalarymyzyň azaldylan hereket bölümine serediň .

Mysallar

Gural görkezmelerini açyň

Aboveokarda belläp geçişimiz ýaly, gurallary ulanmazdan ozal başlamaly. Sahypadaky ähli gural görkezmelerini başlamagyň bir usuly, olary öz data-bs-toggleaýratynlyklary boýunça saýlamak bolar:

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

Gural görkezmelerini görmek üçin aşakdaky baglanyşyklara basyň:

Gurallar bilen käbir içerki baglanyşyklary görkezmek üçin ýer eýesi teksti . Bu indi diňe doldurgyç, ganhor däl. Bu ýerde diňe hakyky tekstiň barlygyny görkezmek üçin ýerleşdirilen mazmun . Bularyň hemmesi, hakyky ýagdaýlarda ulanylanda gurallaryň nähili görünjekdigi barada düşünje bermek üçin. Şeýlelik bilen, baglanyşyklardaky bu gurallaryň öz sahypaňyzda ýa-da taslamaňyzda ulananyňyzdan soň iş ýüzünde nähili işläp biljekdigini indi görersiňiz diýip umyt edýärin .

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>
titleHTML-de ýa data-bs-title-da HTML - de ulanyp bilersiňiz. Haçan ulanylanda, Popper element görkezilende titleawtomatiki usulda çalşylýar.data-bs-title

Omörite gurallar

V5.2.0 goşuldy

CSS üýtgeýjilerini ulanyp, gurallaryň görnüşini düzüp bilersiňiz . Customörite data-bs-custom-class="custom-tooltip"daşky görnüşimizi giňeltmek we ýerli CSS üýtgeýjisini ýok etmek üçin ulanýarys.

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

Görkezmeler

Dört gural görkezmesini görmek üçin aşakdaky düwmeleriň üstünden basyň: ýokarky, sag, aşaky we çep. RTL-de Bootstrap ulanylanda görkezmeler aýnalanýar.

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

Customörite HTML goşuldy:

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

CSS

Üýtgeýjiler

V5.2.0 goşuldy

“Bootstrap” -yň ösýän CSS üýtgeýjiler çemeleşmesiniň bir bölegi hökmünde, gurallar häzirki wagtda .tooltipgüýçlendirilen hakyky özleşdirmek üçin ýerli CSS üýtgeýjileri ulanýarlar. CSS üýtgeýjileriniň bahalary Sass arkaly kesgitlenýär, şonuň üçin Sass sazlamasy henizem goldanýar.

  --#{$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 üýtgeýjileri

$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

Ulanylyşy

Gurallar üçin plugin isleg boýunça mazmun we bellik döredýär we adaty ýagdaýda gural elementlerini trigger elementinden soň ýerleşdirýär.

Gurallar maslahatyny JavaScript arkaly işlediň:

const exampleEl = document.getElementById('example')
const tooltip = new bootstrap.Tooltip(exampleEl, options)
Daşmak autowescroll

Tooltip ýagdaýy ene-atanyň konteýnerindeoverflow: auto ýa-da bizde overflow: scrollbolanda awtomatiki üýtgemäge synanyşýar .table-responsive, emma asyl ýerleşişini saklaýar. Bu meseläni çözmek üçin, boundaryopsiýany (opsiýany ulanyp flip üýtgediji üçin popperConfig) islendik HTMLElement-e deslapky bahany ýok etmek üçin düzüň 'clippingParents', meselem document.body:

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

Bellik

Gurallar üçin zerur bellik diňe bir dataatribut bolup title, gurallar maslahatyny almak isleýän HTML elementiňizde. Gurallar maslahatynyň döredilen belligi gaty ýönekeý, ýöne bir pozisiýa talap edýär (deslapky görnüşde, topplugin tarapyndan kesgitlenýär).

Klawiatura we kömekçi tehnologiýa ulanyjylary üçin gural görkezmelerini işlemek

Diňe klawiatura gönükdirilen we interaktiw (baglanyşyklar ýa-da forma dolandyryşlary ýaly) HTML elementlerine gural görkezmelerini goşmaly. Esassyz HTML elementleri (meselem <span>) tabindex="0"atribut goşmak bilen ünsi jemläp boljakdygyna garamazdan, bu klawiatura ulanyjylary üçin interaktiw däl elementlere potensial gaharlandyryjy we bulaşyk goýma duralgalaryny goşar we häzirki wagtda köp kömekçi tehnologiýalar bu ýagdaýda gural görkezmesini yglan etmeýär. hoverMundan başga-da, diňe gurallar maslahaty üçin trigger hökmünde bil baglamaň , sebäbi bu gural gurallaryňyzy klawiatura ulanyjylary üçin döredip bilmez.

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

Öçürilen elementler

Sypaty bolan elementler disabledinteraktiw däl, ýagny gurallar (ýa-da popover) açmak üçin ulanyjylar ünsi jemläp, aýlap ýa-da basyp bilmeýärler. Iş usuly hökmünde, gural görkezijisini bir örtükden <div>ýa-da iň <span>oňat klawiatura gönükdirilen ulanyp başlamak islärsiňiz 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>

Görnüş

Opsiýalary maglumat atributlary ýa-da JavaScript arkaly geçirip bolýandygy sebäpli, opsiýa adyny data-bs-bolşy ýaly goşup bilersiňiz data-bs-animation="{value}". Opsiýalary maglumat atributlary arkaly geçireniňizde , opsiýanyň adynyň görnüşini “ camelCase ” -den “ kebab-case ” diýip üýtgediň. Mysal üçin, data-bs-custom-class="beautifier"ýerine ulanyň data-bs-customClass="beautifier".

“Bootstrap 5.2.0” -e görä, ähli komponentler JSON setiri hökmünde ýönekeý komponent konfigurasiýasyny saklap bilýän tejribe ätiýaçlandyrylan maglumat atributyny goldaýar. data-bs-configHaçan-da bir element data-bs-config='{"delay":0, "title":123}'we data-bs-title="456"häsiýetler bar bolsa, iň soňky titlebaha bolar 456we aýratyn maglumatlar atributlary berlen bahalary ýok eder data-bs-config. Mundan başga-da, bar bolan maglumatlar atributlary ýaly JSON bahalaryny ýerleşdirmäge ukyply data-bs-delay='{"show":0,"hide":150}'.

Howpsuzlyk sebäpli sanitize, sanitizeFnwe allowListopsiýalary maglumat atributlaryny ulanyp bolmaýandygyny ýadyňyzdan çykarmaň.
Ady Görnüşi Bellenen Düşündiriş
allowList obýekt Bellenen baha Rugsat berlen atributlary we bellikleri öz içine alýan obýekt.
animation boolean true Gurallar maslahatyna CSS solgun geçişini ulanyň.
boundary setir, element 'clippingParents' Gurallar maslahatynyň aşýan çäk çäkleri (diňe Popper-iň öňüni alýanOverflow modifikatoryna degişlidir). Düzgüne görä, HTMLElement 'clippingParents'salgylanmasyny kabul edip biler (diňe JavaScript arkaly). Has giňişleýin maglumat üçin Popper-iň detectOverflow resminamalaryna serediň .
container setir, element, ýalan false Gurallar maslahatyny belli bir elemente goşýar. Mysal : container: 'body'. Bu opsiýa, gural görkezijisini resminamanyň akymynda hereketlendiriji elementiň ýanynda ýerleşdirmäge mümkinçilik berýänligi üçin peýdalydyr - bu penjiräniň ölçegi üýtgedilende gural görkezijisiniň hereketlendiriji elementden uzaklaşmagynyň öňüni alar.
customClass setir, funksiýa '' Görkezilende gurallar maslahatyna sapak goşuň. Bu synplaryň şablonda görkezilen islendik sapaklara goşmaça goşuljakdygyny unutmaň. Birnäçe synp goşmak üçin boşluklar bilen bölüň : 'class-1 class-2'. Şeýle hem goşmaça synp atlaryny öz içine alýan bir setiri yzyna gaýtarmaly funksiýany geçirip bilersiňiz.
delay san, obýekt 0 Gural görkezijisini (ms) görkezmek we gizlemek - el bilen trigger görnüşine degişli däl. San berilse, gizlemek / görkezmek üçin gijikdirme ulanylýar. Obýektiň gurluşy : delay: { "show": 500, "hide": 100 }.
fallbackPlacements massiw ['top', 'right', 'bottom', 'left'] Yzyna ýerleşdiriliş sanawyny yzygiderli tertipde kesgitläň (ileri tutma tertibi boýunça). Has giňişleýin maglumat üçin Popperiň özüni alyp baryş resminamalaryna serediň .
html boolean false Gurallar bölüminde HTML-e rugsat beriň. Çyn bolsa, gurallar maslahatynda HTML bellikleri gurallar maslahatynda titlegörkeziler. Falsealňyş bolsa innerText, DOM-a mazmun goýmak üçin emläk ulanylar. XSS hüjümleri barada alada edýän bolsaňyz, tekst ulanyň.
offset massiw, setir, funksiýa [0, 0] Gurallar maslahatynyň nyşanyna görä ofset. Maglumat atributlarynda yzygiderli ýaly bölünen bahalar bilen bir setir geçirip bilersiňiz data-bs-offset="10,20". Ofset kesgitlemek üçin bir funksiýa ulanylanda, ilkinji argumenti hökmünde popper ýerleşdirilişi, salgylanma we popper düzedişleri bolan obýekt bilen atlandyrylýar. Tüweleme elementi DOM düwmesi ikinji argument hökmünde geçýär. Funksiýa iki san bilen bir massiw gaýtarmaly: skidding , aralyk . Has giňişleýin maglumat üçin Popper-iň ofset resminamalaryna serediň .
placement setir, funksiýa 'top' Gurallar maslahatyny nädip ýerleşdirmeli: awto, ýokarky, aşaky, çep, saga. Görkezilende, gurallar automaslahatyny dinamiki üýtgeder. Locationerleşişi kesgitlemek üçin bir funksiýa ulanylanda, ilkinji argument hökmünde gurallar DOM düwünine, ikinjisi hökmünde hereketlendiriji element DOM düwünine diýilýär. Kontekst thisgurallar meselesine düzüldi.
popperConfig null, obýekt, funksiýa null Bootstrap-yň deslapky Popper konfigurasiýasyny üýtgetmek üçin Popper-iň konfigurasiýasyna serediň . Popper konfigurasiýasyny döretmek üçin bir funksiýa ulanylanda, Bootstrap-yň deslapky Popper konfigurasiýasyny öz içine alýan obýekt bilen atlandyrylýar. Dymmaklygy öz konfigurasiýaňyz bilen ulanmaga we birleşdirmäge kömek edýär. Funksiýa Popper üçin konfigurasiýa obýektini yzyna gaýtarmaly.
sanitize boolean true Arassaçylygy işletmek ýa-da öçürmek. Işledilen 'template'bolsa 'content'we 'title'opsiýalar arassalanar.
sanitizeFn null, funksiýa null Bu ýerde öz arassaçylyk funksiýaňyzy üpjün edip bilersiňiz. Arassaçylyk işini geçirmek üçin ýörite kitaphanany ulanmagy makul bilýän bolsaňyz, bu peýdaly bolup biler.
selector setir, ýalan false Eger saýlaýjy üpjün edilse, gurallar obýektleri görkezilen nyşanlara berler. Iş ýüzünde, bu dinamiki goşulan DOM elementlerine ( jQuery.ongoldaw) gural görkezmelerini ulanmak üçin hem ulanylýar. Bu meselä we maglumat beriji mysallara serediň .
template setir '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' Gurallar maslahatyny döredeniňizde ulanmak üçin HTML esaslaň. Gurallar maslahatyna titlesanjym ediler .tooltip-inner. .tooltip-arrowgurallaryň oky bolar. Daşarky örtük elementiniň .tooltipsynpy we role="tooltip".
title setir, element, funksiýa '' Sypat ýok bolsa, deslapky at bahasy title. Eger bir funksiýa berilse, thisaçylan elemente salgylanma toplumy bilen çagyrylar.
trigger setir 'hover focus' Gurallar maslahatynyň nädip başlamagy: basyň, aýlaň, fokus ediň, gollanma. Birnäçe trigger geçirip bilersiňiz; boşluk bilen bölüň. gurallar maslahatynyň programma we usullar arkaly 'manual'başlajakdygyny görkezýär ; bu bahany başga bir trigger bilen birleşdirip bolmaz. öz-özünden klawiatura arkaly işledip bolmaýan gurallar görkeziler we diňe klawiatura ulanyjylary üçin şol bir maglumatlary bermegiň alternatiw usullary bar bolsa ulanylmalydyr..tooltip('show').tooltip('hide').tooltip('toggle')'hover'

Aýry-aýry gurallar üçin maglumatlar atributlary

Aýry-aýry gurallar üçin opsiýalar, ýokarda düşündirilişi ýaly maglumat atributlaryny ulanmak arkaly kesgitlenip bilner.

Bilen işlemekpopperConfig

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

Usullar

Asynkron usullar we geçişler

APIhli API usullary asynkron bolup, geçişe başlaýar . Geçiş başlan badyna, ýöne gutarmanka jaň edijä gaýdyp gelýärler . Mundan başga-da, geçiş komponentine çagyryş usuly hasaba alynmaz .

Has giňişleýin maglumat üçin JavaScript resminamalarymyza serediň .

Usul Düşündiriş
disable Bir elementiň gural görkezmesini görkezmek ukybyny aýyrýar. Gurallar maslahaty diňe täzeden işledilen ýagdaýynda görkezilip bilner.
dispose Bir elementiň gural görkezmesini gizleýär we ýok edýär (DOM elementindäki saklanan maglumatlary aýyrýar). Delegasiýany ulanýan gurallar (opsiýany ulanyp döredilýär ) selectornesil trigger elementlerinde aýratyn ýok edilip bilinmez.
enable Bir elementiň gural görkezmesini görkezmek ukybyny berýär. Gurallar adaty ýagdaýda işledilýär.
getInstance DOM elementi bilen baglanyşykly gurallar meselesini almaga ýa-da başlamadyk ýagdaýynda täzesini döretmäge mümkinçilik berýän statiki usul.
getOrCreateInstance DOM elementi bilen baglanyşykly gurallar meselesini almaga ýa-da başlamadyk ýagdaýynda täzesini döretmäge mümkinçilik berýän statiki usul.
hide Bir elementiň gural görkezmesini gizleýär. Gurallar maslahaty hakykatdanam gizlenmänkä (ýagny hidden.bs.tooltipwaka ýüze çykmazdan ozal) jaň edýän adama gaýdyp gelýär. Bu gurallar maslahatynyň “el bilen” başlamagy hasaplanýar.
setContent Başlanylandan soň gurallar maslahatynyň mazmunyny üýtgetmegiň ýoluny berýär.
show Bir elementiň gural görkezmesini açýar. Gural görkezmesi hakykatdanam görkezilmänkä (ýagny shown.bs.tooltipwaka ýüze çykmazdan ozal) jaň edijä gaýdyp gelýär. Bu gurallar maslahatynyň “el bilen” başlamagy hasaplanýar. Nol uzynlykdaky atlar bilen gurallar hiç haçan görkezilmeýär.
toggle Bir elementiň gurallar maslahatyny üýtgedýär. Gurallar görkezmesi hakykatdanam görkezilmän ýa-da gizlenmänkä (ýagny waka shown.bs.tooltipýa-da hidden.bs.tooltipwaka ýüze çykmazdan ozal) jaň edýän adama gaýdyp gelýär. Bu gurallar maslahatynyň “el bilen” başlamagy hasaplanýar.
toggleEnabled Bir elementiň gural görkezmesiniň görkezilmegi ýa-da gizlenmegi mümkinçiligini üýtgedýär.
update Bir elementiň gurallar guralynyň ýagdaýyny täzeleýär.
const tooltip = bootstrap.Tooltip.getInstance('#example') // Returns a Bootstrap tooltip instance

// setContent example
tooltip.setContent({ '.tooltip-inner': 'another title' })
Usul argumenti setContentkabul edýär , bu ýerde her bir emläk açary açylýan şablonyň içinde objectdogry saýlaýjy bolup durýar we her bir emläk bahasy bolup biler | | | stringstringelementfunctionnull

Wakalar

Waka Düşündiriş
hide.bs.tooltip Bu waka hidemysal usuly çagyrylanda derrew atylýar.
hidden.bs.tooltip Bu waka, ulanyjydan gizlenenden soň (CSS geçişleriniň tamamlanmagyna garaşýar) atylýar.
inserted.bs.tooltip show.bs.tooltipBu waka , gurallar şablony DOM-a goşulandan soň atylýar .
show.bs.tooltip showBu waka mysal usuly çagyrylanda derrew ýanýar .
shown.bs.tooltip Bu waka, ulanyjy üçin açyk görkezilende (CSS geçişleriniň tamamlanmagyna garaşar) atylýar.
const myTooltipEl = document.getElementById('myTooltip')
const tooltip = bootstrap.Tooltip.getOrCreateInstance(myTooltipEl)

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

tooltip.hide()