Esasy mazmuna geçiň Docs nawigasiýasyna geçiň
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 üçin plugin ulanylanda bilmeli zatlar:

  • Gurallar, ýerleşiş üçin 3-nji tarap kitaphanasy Popper -e bil baglaýar . Bootstrap.js-dan öň popper.min.js goşmaly ýa -da gurallaryň işlemegi üçin Popper-i ulanmaly bootstrap.bundle.min.js/ ulanmaly!bootstrap.bundle.js
  • Gurallar öndürijilik sebäplerine görä saýlanýar, şonuň üçin olary özüňiz başlamaly .
  • Nol uzynlykdaky 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 örtük elementinde başlamaly.
  • 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.
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ň .

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

Mysal: Gural gurallaryny hemme ýerde işlediň

Sahypadaky ähli gural görkezmelerini başlamagyň bir usuly, olary data-bs-toggleatributlary boýunça saýlamak bolar:

var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
  return new bootstrap.Tooltip(tooltipTriggerEl)
})

Mysallar

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 .

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" title="Tooltip on top">
  Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
  Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
  Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" 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" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
  Tooltip with HTML
</button>

SVG bilen:

Sass

Üýtgeýjiler

$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:                    0;

$tooltip-arrow-width:               .8rem;
$tooltip-arrow-height:              .4rem;
$tooltip-arrow-color:               $tooltip-bg;

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

var exampleEl = document.getElementById('example')
var 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 'clippingParents'düzüň document.body:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
  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" 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".

<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
  <button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>

Görnüş

Opsiýalar maglumat atributlary ýa-da JavaScript arkaly geçirilip bilner. Maglumat atributlary üçin, opsiýanyň adyny data-bs-bolşy ýaly goşuň data-bs-animation="". Opsiýalary maglumat atributlary arkaly geçireniňizde, opsiýanyň adynyň görnüşini kamelCase-den kebab-kase üýtgediň. Mysal üçin, ulanmagyň ýerine data-bs-customClass="beautifier"ulanyň data-bs-custom-class="beautifier".

Howpsuzlyk sebäpli sanitize, sanitizeFnwe allowListatributlary maglumat atributlaryny ulanyp üpjün edip bolmajakdygyny unutmaň.
Ady Görnüşi Bellenen Düşündiriş
animation boolean true Gurallar maslahatyna CSS solgun geçişini ulanyň
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 üýtgän mahaly gural görkezijisiniň hereketlendiriji elementden uzaklaşmagynyň öňüni alar.

delay sany | obýekt 0

Gural görkezmesini görkezmek we gizlemek (ms) - el bilen işleýän 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 }

html boolean false

Gurallar bölüminde HTML-e rugsat beriň.

Çyn bolsa, gurallar maslahatynda HTML bellikleri gurallar maslahatynda titlegörkeziler. Falsealan bolsa innerText, DOM-a mazmun goýmak üçin emläk ulanylar.

XSS hüjümleri barada alada edýän bolsaňyz, tekst ulanyň.

placement setir | funksiýasy 'top'

Gurallar maslahatyny nädip ýerleşdirmeli - awto | ýokarky | aşaky | çep | dogry.
Görkezilende, gurallar automaslahatyny dinamiki üýtgeder.

Placerleşişi kesgitlemek üçin bir funksiýa ulanylanda, ilkinji argumenti hökmünde gural gurallary DOM düwünine, ikinjisi hökmünde hereketlendiriji element DOM düwünine diýilýär. Kontekst thisgurallar maslahatyna düzüldi.

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. Muny we maglumat beriji mysaly görüň .
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ýasy ''

Sypat ýok bolsa, deslapky at bahasy title.

Eger bir funksiýa berilse, thisgurallar toplumynyň birikdirilen elementine salgylanma toplumy bilen çagyrylar.

trigger setir 'hover focus'

Gurallar maslahatynyň nädip döredilendigi - basyň | aýlanmak | fokus | gollanma. Birnäçe trigger geçirip bilersiňiz; boşluk bilen bölüň.

'manual'gurallar maslahatynyň programma we .show()usullar arkaly başlajakdygyny görkezýär ; bu bahany başga bir trigger bilen birleşdirip bolmaz..hide().toggle()

'hover'öz-özünden klawiatura arkaly işledip bolmaýan gurallar görkezer we diňe klawiatura ulanyjylary üçin şol bir maglumatlary bermegiň alternatiw usullary bar bolsa ulanylmalydyr.

fallbackPlacements massiw ['top', 'right', 'bottom', 'left'] Yzyna ýerleşdirilişleri sanawda (isleg boýunça) ýerleşdirmek arkaly kesgitläň. Has giňişleýin maglumat üçin Popperiň özüni alyp baryş resminamalaryna serediň
boundary setir | elementi 'clippingParents' Gurallar maslahatynyň artykmaç çäk çäkleri (diňe Popper-iň öňüni alýanOverflow modifikatoryna degişlidir). Düzgüne görä, ol 'clippingParents'HTMLElement salgylanmasyny kabul edip biler (diňe JavaScript arkaly). Has giňişleýin maglumat üçin Popper-iň detectOverflow resminamalaryna serediň .
customClass setir | funksiýasy ''

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.

sanitize boolean true Arassaçylygy işletmek ýa-da öçürmek. Işledilen 'template'we 'title'opsiýalar arassalanar. JavaScript resminamalarymyzdaky arassaçylyk bölümine serediň .
allowList obýekt Bellenen baha Rugsat berlen atributlary we bellikleri öz içine alýan obýekt
sanitizeFn null | funksiýasy 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.
offset massiw | setir | funksiýasy [0, 0]

Gurallar maslahatynyň nyşanyna görä ofset. Maglumat atributlarynda yzygiderli 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, distance]

Has giňişleýin maglumat üçin Popper-iň ofset resminamalaryna serediň .

popperConfig null | obýekt | funksiýasy 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.

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

var tooltip = new bootstrap.Tooltip(element, {
  popperConfig: function (defaultBsPopperConfig) {
    // var 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ň .

görkezmek

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.

tooltip.show()

gizle

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.

tooltip.hide()

üýtgetmek

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.

tooltip.toggle()

taşlaň

Bir elementiň gurallar maslahatyny 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.

tooltip.dispose()

işletmek

Bir elementiň gural görkezmesini görkezmek ukybyny berýär. Gurallar adaty ýagdaýda işledilýär.

tooltip.enable()

öçürmek

Bir elementiň gural görkezmesiniň görkezilmegini aradan aýyrýar. Gurallar maslahaty diňe täzeden işledilen ýagdaýynda görkezilip bilner.

tooltip.disable()

açmak

Bir elementiň gural görkezmesiniň görkezilmegi ýa-da gizlenmegi mümkinçiligini üýtgedýär.

tooltip.toggleEnabled()

täzelen

Bir elementiň gurallar guralynyň ýagdaýyny täzeleýär.

tooltip.update()

GetInstance

DOM elementi bilen baglanyşykly gurallar meselesini almaga mümkinçilik berýän statiki usul

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

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.

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

Wakalar

Çäräniň görnüşi Düşündiriş
show.bs.tooltip showBu waka mysal usuly çagyrylanda derrew ýanýar .
shown.bs.tooltip Bu waka gural gurallary ulanyja görünen mahaly atylýar (CSS geçişleriniň tamamlanmagyna garaşýar).
hide.bs.tooltip Bu waka hidemysal usuly çagyrylanda derrew atylýar.
hidden.bs.tooltip Bu waka, gural görkezmesi ulanyjydan gizlenip gutarandan soň (CSS geçişleriniň tamamlanmagyna garaşar).
inserted.bs.tooltip show.bs.tooltipBu waka , gurallar şablony DOM-a goşulandan soň atylýar .
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)

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

tooltip.hide()