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.js
birini 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-dadisabled
elementler üç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ň.
prefers-reduced-motion
media 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-toggle
aýratynlyklary boýunça saýlamak bolar:
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
Salgylar boýunça gurallar
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 .
<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
HTML-de ýa
data-bs-title
-da HTML -
de ulanyp
bilersiňiz. Haçan
ulanylanda, Popper element görkezilende
title
awtomatiki usulda
çalşylýar.data-bs-title
Omörite gurallar
V5.2.0 goşuldyCSS üý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);
}
<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 .tooltip
güýç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 auto
wescroll
Tooltip ýagdaýy ene-atanyň konteýnerindeoverflow: auto
ýa-da bizde overflow: scroll
bolanda awtomatiki üýtgemäge synanyşýar .table-responsive
, emma asyl ýerleşişini saklaýar. Bu meseläni çözmek üçin, boundary
opsiý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 data
atribut 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, top
plugin 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. hover
Mundan 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 disabled
interaktiw 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" 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-config
Haçan-da bir element data-bs-config='{"delay":0, "title":123}'
we data-bs-title="456"
häsiýetler bar bolsa, iň soňky title
baha bolar 456
we 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}'
.
sanitize
,
sanitizeFn
we
allowList
opsiý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 title gö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 auto maslahatyny 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 this gurallar 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.on goldaw) 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 title sanjym ediler .tooltip-inner . .tooltip-arrow gurallaryň oky bolar. Daşarky örtük elementiniň .tooltip synpy we role="tooltip" . |
title |
setir, element, funksiýa | '' |
Sypat ýok bolsa, deslapky at bahasy title . Eger bir funksiýa berilse, this aç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 ) selector nesil 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.tooltip waka ýü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.tooltip waka ýü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.tooltip waka ýü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' })
setContent
kabul edýär
, bu ýerde her bir emläk açary açylýan şablonyň içinde
object
dogry
saýlaýjy bolup durýar we her bir emläk bahasy bolup biler |
|
|
string
string
element
function
null
Wakalar
Waka | Düşündiriş |
---|---|
hide.bs.tooltip |
Bu waka hide mysal 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.tooltip Bu waka , gurallar şablony DOM-a goşulandan soň atylýar . |
show.bs.tooltip |
show Bu 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()