Popovers
Documenta et exempla addendo Bootstrap popovers, sicut ea quae in iOS inventa sunt, cuivis elementi in situ tuo.
Overview
Rerum scire quando usus est popover plugin:
- Popoveri confidunt in tertia parte bibliothecae Popper pro positione. Ante popper.min.js includere debes
bootstrap.js
, vel eo uti ,bootstrap.bundle.min.js
quod popper continet. - Popovers popover plugin sicut dependentiam require.
- Popoveri in agendis causis optent, ergo eas te ipsum initialize oportet .
- Nulla longitudo
title
accontent
valores popover numquam ostendent. - Specificare
container: 'body'
ad vitandas difficultates in pluribus componentibus (sicut coetus input coetus, globuli, etc). - Felis popovers in occultis elementis non laborabit.
- Popovers elementum
.disabled
veldisabled
elementum Urguet in wrapper. - Cum ex ancoris utitur qui per plures lineas involvunt, popoveri inter latitudinem altiore ancorarum centrum erit. Utere
.text-nowrap
tuo<a>
s ad vitandum hunc mores. - Popovers occultari debent antequam elementa eorum correspondentia a dom.
- Popoveri urguere potest propter elementum intra umbram dom.
prefers-reduced-motion
interrogatione instrumentorum. Videre
motum sectionem accessibilitatis nostrae documentationis reductam .
Legere videas quomodo popovers cum aliquibus exemplis operetur.
Exempla
Admitte popovers
Ut supra, popovers initialize debes antequam adhiberi possunt. Uno modo ut omnes popoveri in pagina initializent eos ex suo data-bs-toggle
attributo eligere, sic:
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
Vivamus demo
Utimur JavaScript similes snippeti supra ad reddendam vivam popover. Titles are set via data-bs-title
and body content is set via data-bs-content
.
title
vel
data-bs-title
in HTML tuo. Cum
title
adhibetur, Popper automatice restituet
data-bs-title
cum elementum redditum est.
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Quattuor directiones
Quattuor optiones praesto sunt: summum, dextrum, fundum et sinistrum. Directiones speculantur cum per Bootstrap in RTL. Pone data-bs-placement
mutare directionem.
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
Popover on left
</button>
Consuetudinemcontainer
Cum aliqua genera in parentis elemento popover impediente habeas, morem container
exprimere voles ut popover HTML in loco illo elemento appareat. Hoc commune est in tabulis responsivis, coetibus inputandis, et similibus.
const popover = new bootstrap.Popover('.example-popover', {
container: 'body'
})
Alia condicio ubi expressam consuetudinem ponere voles, sunt popoveri dialogi modales container
intus , fac ut popover ipsum modalis apponatur . Hoc praecipue momenti est pro popovers quae elementa interactiva continent - dialogi modales umbilicum capient, ideo nisi popover parvulus est elementum modalis, utentes non poterunt haec interactiva elementa versari vel movere.
const popover = new bootstrap.Popover('.example-popover', {
container: '.modal-body'
})
Custom popovers
Additur in v5.2.0Possis domicilii speciem popoveri utens CSS variabilium . Consuetudo classium constituimus cum data-bs-custom-class="custom-popover"
ut speciem consuetudinem nostram attingamus et ea utamur ad quasdam variabilium localium CSS delendi.
.custom-popover {
--bs-popover-max-width: 200px;
--bs-popover-border-color: var(--bs-primary);
--bs-popover-header-bg: var(--bs-primary);
--bs-popover-header-color: var(--bs-white);
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: .5rem;
}
<button type="button" class="btn btn-secondary"
data-bs-toggle="popover" data-bs-placement="right"
data-bs-custom-class="custom-popover"
data-bs-title="Custom popover"
data-bs-content="This popover is themed via CSS variables.">
Custom popover
</button>
Dimitte in proximo click
Felis utere focus
ut popovers emittat in usoris proximi cliccum alterius elementi quam toggle.
Imprimis markup requiritur ad dimittendum in proximo-click
Ad propriam transversistram et transversis suggestum agendis, <a>
tag, non tag, uti debetis, et attributum <button>
etiam includere debetis .tabindex
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
const popover = new bootstrap.Popover('.popover-dismiss', {
trigger: 'focus'
})
Debilitatum elementis
Elementa cum disabled
attributo non sunt interactive, utentes significationes non possunt volitare vel preme ea ut popover felis (vel tooltip). Pro habemus, voles ex fasciculo in popover trigger <div>
vel <span>
, bene uti claviaturae focusable factae tabindex="0"
.
Pro triggers popover debiles, etiam praeferre data-bs-trigger="hover focus"
potes ut popover ut immediata visivae opiniones usoribus tuis appareat, cum in elemento debili strepere non possunt .
<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Disabled popover">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
CSS
Variabilium
Additur in v5.2.0Cum pars Bootstrap evolutionis CSS variabilium accedunt, popoveri nunc CSS variabilium localium utuntur .popover
in aucta real-time customizatione. Valores variabilium pro CSS per Sass positae sunt, ergo etiam adhuc Sass customization adiuvatur.
--#{$prefix}popover-zindex: #{$zindex-popover};
--#{$prefix}popover-max-width: #{$popover-max-width};
@include rfs($popover-font-size, --#{$prefix}popover-font-size);
--#{$prefix}popover-bg: #{$popover-bg};
--#{$prefix}popover-border-width: #{$popover-border-width};
--#{$prefix}popover-border-color: #{$popover-border-color};
--#{$prefix}popover-border-radius: #{$popover-border-radius};
--#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};
--#{$prefix}popover-box-shadow: #{$popover-box-shadow};
--#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};
--#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};
@include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);
--#{$prefix}popover-header-color: #{$popover-header-color};
--#{$prefix}popover-header-bg: #{$popover-header-bg};
--#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};
--#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};
--#{$prefix}popover-body-color: #{$popover-body-color};
--#{$prefix}popover-arrow-width: #{$popover-arrow-width};
--#{$prefix}popover-arrow-height: #{$popover-arrow-height};
--#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);
Sass variables
$popover-font-size: $font-size-sm;
$popover-bg: $white;
$popover-max-width: 276px;
$popover-border-width: $border-width;
$popover-border-color: var(--#{$prefix}border-color-translucent);
$popover-border-radius: $border-radius-lg;
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow: $box-shadow;
$popover-header-font-size: $font-size-base;
$popover-header-bg: shade-color($popover-bg, 6%);
$popover-header-color: $headings-color;
$popover-header-padding-y: .5rem;
$popover-header-padding-x: $spacer;
$popover-body-color: $body-color;
$popover-body-padding-y: $spacer;
$popover-body-padding-x: $spacer;
$popover-arrow-width: 1rem;
$popover-arrow-height: .5rem;
Consuetudinem
Admitte popovers per JavaScript:
const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)
Faciens popovers opus est tincidunt et assistive technicae users
Ut tincidunt utentes claviaturos tuos popovers activate, eas tantum addere debes ad HTML elementa quae traditionaliter claviaturae sunt et interactiva (qualia sunt nexus vel forma controllis). Etsi arbitraria HTML elementa (qualia sunt <span>
) versari possunt addito tabindex="0"
attributo, hoc addet potentia molestissima et confundens tab cessat in elementis non-interacivis pro claviaturis usoribus, et technologiae maxime adiuvativae in hoc casu contentum popoveri nunc non annuntiant. . Accedit, quod popovers tuis felis non confidunt solum hover
, cum hoc eis impossibile erit ut felis claviaturis usoribus efficiat.
Dum dives, HTML in popovers per html
optionem structus, inserere potes, enixe commendamus ut nimiam rerum copiam vitare possis. Via popoveri nunc operandi est quod, semel ostensa, eorum contenta elemento felis cum aria-describedby
attributo ligatur. Quam ob rem, universitas contentorum popoveri nuntiabitur usoribus technologicis adiuvandis ut rivus diu, continuus.
Accedit, dum licet etiam interactivas potestates (qualia elementa vel nexus formare) in popover tuo (addendo his elementis allowList
attributorum et tags permissorum), scias nunc popover umbilicum ordinem clavicularium non administrare. Cum usor claviaturae popover aperit, focus manet in elementum excitato, et sicut popover plerumque non statim sequitur felis in structura documenti, nulla est cautio quae progrediendo/pressit.TABusorem claviculi in ipsum popover movebit. In summa, interactivas potestates popoveri simpliciter addendo verisimile est has potestates impossibilis/inutilis reddere pro claviaturis usoribus et usoribus technologiarum adiuvantium, vel saltem ad ordinem umbilici altiore incogniti ad faciendum. In his casibus considera alternis modalibus pro utendo.
Optiones
Cum optiones transeantur per data attributa vel JavaScript, potes appendere nomen optionis data-bs-
, ut in data-bs-animation="{value}"
. Fac mutare casus genus optionis nominis ab " camelCase " ad " kebab-casum " cum transeundo optiones per data attributa. Exempli gratia data-bs-custom-class="beautifier"
loco data-bs-customClass="beautifier"
.
Sicut de Bootstrap 5.2.0, omnia membra experimentalem datam reservatam sustinent data-bs-config
quae figuram simplicem componentem sicut chorda JSON domum habere potest. Cum elementum habet data-bs-config='{"delay":0, "title":123}'
et data-bs-title="456"
attributa, valor finalis title
erit 456
et attributa separata data valores supra datos vincent data-bs-config
. Praeterea exsistentes notitiae attributae possunt domum JSON valores similes data-bs-delay='{"show":0,"hide":150}'
.
sanitize
,
sanitizeFn
, et
allowList
optiones non possunt suppeditari usura attributa data.
Nomen | Type | Default | Descriptio |
---|---|---|---|
allowList |
object | Default valorem | Obiectum quod continet concessa attributa et tags. |
animation |
Boolean | true |
Adhibe CSS fades transitus ad popover. |
boundary |
filum, elementum | 'clippingParents' |
Superfluum coactionis limitis popoveri (solum applicativum praeventionis Popper's determinationis). Per defaltam, suus 'clippingParents' et HTMLElement reference (per JavaScript only). For more information refer to Popper's detectOverflow docs . |
container |
chorda, elementum, fals | false |
Ponit popover ad elementum specificum. Exemplum: container: 'body' . Haec optio maxime utilis est in eo quod popover in fluxu tabellae prope excitato elementi te collocare sinit - quae popover ne a emissatione elementi per fenestram resize natare prohibebit. |
content |
filum, elementum, munus | '' |
Default contentus valorem, si data-bs-content attributum non est praesens. Si munus detur, vocabitur cum sua this referentia ad elementum quod adnexum est popover. |
customClass |
filum, munus | '' |
Classes ad popoverum adde cum ostenditur. Nota has classes additas esse omnibus generibus in template specificatis. Ad multiplices classes, spatiis eas separa: 'class-1 class-2' . Munus praeterea praeterire potes quod chorda unica referat quae adiectis nominibus classis continentur. |
delay |
numerus, object | 0 |
Mora ostendens et occultans popover (ms) - non convenit ad genus felis manualis. Si numerus suppleatur, mora utrique operi/showi applicatur. Objectum structura est: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
filum, array | ['top', 'right', 'bottom', 'left'] |
Define placements fallback providens indices placementorum in ordine (in ordine praepositorum). For more information refer to Popper's conversations docs . |
html |
Boolean | false |
Concede HTML in popover. Si verum est, HTML tags in popover title reddetur in popover. Si falsus, innerText contenta in possessionem adhibebitur dom. Utere textu si de oppugnationibus XSS sollicitus es. |
offset |
numerus, chorda, munus | [0, 0] |
Offset popover ad suum scopum. Filum transire potes in data attributis cum commate valores separatos similes: data-bs-offset="10,20" . Cum munus cinguli definiendi adhibetur, cum obiecto popperum collocationem, relationem continet, et popper ut primum argumentum corrigit. Nodus domne elementum excitato praecessit ut secundum argumentum. Munus ordinatim reddere debet cum duobus numeris: iaculatione , distantia . For more information refer to Popper's offset docs . |
placement |
filum, munus | 'top' |
Quomodo positionem popover: auto, summum, fundum, sinistram, dextram. Cum auto specificatur, dynamice reorient faciet popover. Cum munus collocationis determinare adhibetur, cum popover dom node ut primum argumentum et elementum nodi domne sicut secundae excitato appellatur. Contextus ad exemplum popoveri this positum est. |
popperConfig |
nullum, objectum, munus | null |
Mutare Bootstrap default Popper config, vide configurationem Popper . Cum munus ad configurationem Popper creare adhibetur, cum obiecto dicitur, quod default Popper configurationem Bootstrap continet. Iuvat uteris et defaltam cum propria configuratione confundas. Munus obiecto configurationem reddere debet pro Popper. |
sanitize |
Boolean | true |
Admitte vel disable sanitization. Si actum 'template' , 'content' et 'title' bene sanitized. |
sanitizeFn |
nullum, munus | null |
Hic tu munus tuum inconsideratus supplere potes. Hoc utile esse potest si bibliotheca dedicata uti mavis sanitizationem praestare. |
selector |
filum, falsus | false |
Si electrix cautum sit, res popover ad scuta determinata delegabuntur. In praxi, hoc etiam popovers adhibere adhibetur ad elementa dom dynamice addita ( jQuery.on auxilium). Vide hanc quaestionem et exemplum informativum . Nota : title attributum non debet uti electrix. |
template |
filum | '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' |
Basi HTML uti cum popover creando. title Popover in injicietur .popover-inner . .popover-arrow sagitta popover fiet. Extremum elementum fasciculus debet habere .popover genus et role="popover" . |
title |
filum, elementum, munus | '' |
Default title valorem si title attributum non est praesens. Si munus detur, vocabitur cum sua this referentia ad elementum quod adnexum est popover. |
trigger |
filum | 'hover focus' |
Quomodo popover utitur: preme, hove, focus, manuale. Plures triggers transire potes; eosque spatio. 'manual' indicat popover in grammatice via .popover('show') ac modos .popover('hide') urguere ; .popover('toggle') Hoc valore cum aliqua alia felis componi non potest. 'hover' sponte autem evenit in popovers qui per tincidunt urgueri non potest, et solum adhiberi debet si alternatio methodi ad easdem informationes deferendi adsit claviaturarum usorum. |
Data singulis popovers
Optiones singularum popoverarum per usum attributorum datorum, ut supra dictum est, determinari possunt.
Munus cum usurapopperConfig
const popover = new bootstrap.Popover(element, {
popperConfig(defaultBsPopperConfig) {
// const newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Methodi
Modi asynchronous et transitus
Omnes API modi asynchroni sunt et transitus committitur . Redeunt ad RECENS mox ut transitus incipiat sed antequam finiatur . Methodus praeterea in transitus transeuntis ignorabitur .
Methodus | Descriptio |
---|---|
disable |
Facultatem removet popover elementi exhibendi. Popover tantum ostendi poterit si re- parari potest. |
dispose |
Coria et popover elementi destruit (data removet condita in elementum dom). Popoveri qui delegatione utuntur ( quae selector optione utente creantur ) singulariter destrui non possunt in elementis felis descendentibus. |
enable |
Elementi popover facultatem demonstrandi dat. Popovers per defaltam possunt. |
getInstance |
Ratio static, quae te permittit ut instantia popoveri cum elemento DOM coniungitur . |
getOrCreateInstance |
Statica methodus, quae permittit ut instantia popoveri cum elemento DOM coniungitur, aut novum crea in casu non initialized erat. |
hide |
Cras elementum popover. Redit ad salutatorem ante popover occultatum (id ante hidden.bs.popover eventum). Hoc "manuale" excitato popover consideratur. |
setContent |
Modum dat mutandi contentus popover post initializationem. |
show |
Elementum aperit popover. RECENS REVERIT ante popover ostensum est (id antequam shown.bs.popover evenit). Hoc "manuale" excitato popover consideratur. Popoveri cuius titulus et contenta utraque nulla longitudo numquam ostenditur. |
toggle |
Toggles popover elementum est. RECENS REcurrit antequam popover re vera aut occulta (id est ante eventum shown.bs.popover vel hidden.bs.popover evenit). Hoc "manuale" excitato popover consideratur. |
toggleEnabled |
Toggles facultatem popoveri elementi exhibendi vel occultandi. |
update |
Renovat positionem popover elementi. |
// getOrCreateInstance example
const popover = bootstrap.Popover.getOrCreateInstance('#example') // Returns a Bootstrap popover instance
// setContent example
myPopover.setContent({
'.popover-header': 'another title',
'.popover-body': 'another content'
})
setContent
accipit
object
, ubi quaelibet proprietas-clavis
string
intra popover templates validum est electrix, et quaelibet proprietas relativa esse potest
string
|
element
|
function
|
null
Events
Eventus | Descriptio |
---|---|
hide.bs.popover |
Hic eventus statim accensus est, cum hide methodus instantia vocata est. |
hidden.bs.popover |
Eventus hic accensus est cum popover ab usore celatum absolvit (exspectabit CSS transitus ad perficiendum). |
inserted.bs.popover |
Hic eventus post show.bs.popover eventum accensus est cum popover templates domno additum est. |
show.bs.popover |
Huius rei accendit statim cum show instantia methodus appellatur. |
shown.bs.popover |
Eventus hic accensus est cum popover utenti utenti factus est (exspectabit CSS transitus ad perficiendum). |
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
// do something...
})