Кораллар
CSS3 һәм JavaScript ярдәмендә Bootstrap коралларын өстәү өчен документлар һәм мисаллар, анимацияләр өчен CSS3 кулланып, җирле исем саклау өчен data-bs-атрибутлар.
Гомуми күзәтү
Кораллар плагинын кулланганда белергә кирәк нәрсәләр:
- Кораллар урнаштыру өчен 3-нче партия китапханәсенә таяналар . Сез bootstrap.js алдыннан popper.min.js кертергә тиеш , яки корал киңәшләре эшләсен өчен Popper булган / кулланырга
bootstrap.bundle.min.js
/ кулланыргаbootstrap.bundle.js
тиеш! - Кораллар эш башкару сәбәпле оптималь, шуңа күрә сез аларны үзегез башларга тиеш .
- Нуль озынлыгы булган кораллар беркайчан да күрсәтелми.
- Катлаулырак компонентларда проблемалар китермәс өчен күрсәтегез
container: 'body'
(безнең кертү төркемнәре, төймә төркемнәре һ.б.). - Яшерен элементлардагы инструмент киңәшләре эшләмәячәк.
- Электрон кораллар
.disabled
якиdisabled
элементлар төрү элементында башланырга тиеш. - Берничә сызыкны үз эченә алган гиперштамалардан башлангач, инструментлар үзәкләштереләчәк. Бу тәртиптән саклану өчен с-ларда
white-space: nowrap;
кулланыгыз .<a>
- Кораллар тиешле элементлар DOMдан чыгарылганчы яшерелергә тиеш.
- Кораллар DOM күләгәсе эчендәге элемент ярдәмендә башланырга мөмкин.
prefers-reduced-motion
медиа соравына бәйле. Безнең документларның кыскартылган хәрәкәт бүлеген карагыз
.
Барысы да бармы? Яхшы, әйдәгез аларның кайбер мисаллар белән ничек эшләвен карыйк.
Exampleрнәк: бөтен җирдә корал күрсәтмәләрен эшләгез
Биттәге барлык инструментларны башлап җибәрүнең бер ысулы - аларны data-bs-toggle
атрибутлары буенча сайлау:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
Мисаллар
Корал киңәшләрен карау өчен түбәндәге сылтамалар өстендә йөрегез:
Корал киңәшләре белән кайбер сылтамаларны күрсәтү өчен урын иясе тексты . Бу хәзер тутыручы гына, үтерүчеләр дә юк. Чын текстның булуын охшату өчен монда урнаштырылган эчтәлек . Realәм болар барысы да реаль дөнья ситуацияләрендә кулланылганда инструментлар ничек булачагы турында күзаллау өчен. Шуңа күрә сез сылтамалардагы бу инструментларның практикада ничек эшләвен күрдегез дип өметләнәм, аларны үз сайтыгызда яки проектта кулланганнан соң.
Дүрт коралның юнәлешен карау өчен астагы төймәләр өстенә басыгыз: өске, уң, аскы һәм сул. РТЛда Bootstrap кулланганда юнәлешләр чагылдырылган.
<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әм махсус HTML өстәлде:
<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 белән:
Сасс
Variзгәрешләр
$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;
Куллану
Кораллар плагины таләп буенча эчтәлек һәм билгеләр чыгара, һәм триггер элементыннан соң корал күрсәтмәләрен урнаштыра.
JavaScript аша корал киңәшен эшләгез:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Ташу auto
һәмscroll
Tooltip позициясе ата- аналар контейнеры бездә булганда overflow: auto
яки overflow: scroll
бездә булганда автоматик рәвештә үзгәрергә .table-responsive
тырыша, ләкин оригиналь урнаштыру позициясен саклый. Бу проблеманы чишү өчен, boundary
опцияне (вариантны кулланып флип модификатор өчен popperConfig
) теләсә нинди HTMLElement'ка килешенгән кыйммәтне кире кагу өчен куегыз 'clippingParents'
, мәсәлән document.body
:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
Билгеләү
Корал киңәше өчен кирәкле билгеләр бары тик data
атрибут һәм title
HTML элементында сез корал киңәше булырга телисез. Корал киңәшенең ясалган билгесе бик гади, ләкин ул позиция таләп итә (килешү буенча, top
плагин белән куелган).
Клавиатура һәм ярдәмче технология кулланучылар өчен инструментлар ясау
Сез традицион клавиатурага игътибарлы һәм интерактив булган HTML элементларына корал күрсәтмәләрен өстәргә тиеш (мәсәлән, сылтамалар яки форма белән идарә итү). Характерлы HTML элементлары (мәсәлән <span>
) tabindex="0"
атрибутны өстәп игътибарны тупларга мөмкин булса да, бу клавиатура кулланучылары өчен интерактив булмаган элементларга потенциаль рәнҗетүче һәм буталчык өстәмә тукталышлар өстәячәк, һәм күпчелек ярдәмче технологияләр хәзерге вакытта бу очракта кораллар турында игълан итмиләр. Өстәвенә, кораллар өчен триггер буларак кына таянмагыз hover
, чөнки бу сезнең корал киңәшләрен клавиатура кулланучылары өчен эшләтеп булмый.
<!-- 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>
Инвалид элементлар
Атрибутлы элементлар disabled
интерактив түгел, димәк, кулланучылар кораллар (яки поповер) җибәрү өчен аларны туплый алмыйлар, күтәрә алмыйлар. Эш урыны буларак, сез кораллар коралын төргәктән <div>
яисә <span>
идеаль рәвештә клавиатурага юнәлтелгән итеп ясарга теләрсез 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>
Вариантлар
Вариантларны мәгълүмат атрибутлары яки JavaScript аша бирергә мөмкин. Мәгълүмат атрибутлары өчен вариант исемен data-bs-
өстәгез data-bs-animation=""
. Вариантларның мәгълүмат төрен camelCase'тан kebab-case'ка мәгълүмат атрибутлары аша биргәндә үзгәртегез. Мәсәлән, куллану урынына data-bs-customClass="beautifier"
кулланыгыз data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
һәм
allowList
вариантлар мәгълүмат атрибутлары ярдәмендә бирелә алмый.
Исем | Тип | Килешү | Тасвирлау |
---|---|---|---|
animation |
буле | true |
Кораллар киңәшенә CSS сүнгән күчүне кулланыгыз |
container |
кыл | элемент | ялган | false |
Корал киңәшен билгеле бер элементка өсти. Мисал : |
delay |
саны | объект | 0 |
Корал күрсәтмәсен күрсәтү һәм яшерү (мс) - кул белән эшләнгән триггер төренә кагылмый Әгәр дә сан бирелсә, яшерү / күрсәтү өчен тоткарлык кулланыла Объект структурасы: |
html |
буле | false |
HTML коралында рөхсәт итегез. Дөрес булса, кораллар киңәшендәге HTML тэглары кораллар күрсәтмәсендә XSS һөҗүмнәре турында борчылсагыз, текст кулланыгыз. |
placement |
кыл | функциясе | 'top' |
Корал киңәшен ничек урнаштырырга - авто | өстә | аста | сул | уң. Урнаштыруны билгеләр өчен функция кулланылганда, ул беренче аргумент буларак DOM төен кораллары белән, икенчесе буларак DOM төененең этәргеч элементы дип атала. |
selector |
кыл | ялган | false |
Әгәр дә селектор тәкъдим ителсә, кораллы объектлар күрсәтелгән максатларга биреләчәк. Практикада, бу шулай ук динамик кушылган DOM элементларына ( jQuery.on ярдәм) корал күрсәтмәләрен куллану өчен кулланыла. Моны һәм информацион мисалны карагыз . |
template |
кыл | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Кораллар ясаганда куллану өчен HTML нигезе. Кораллар
Тышкы төрү элементы |
title |
кыл | элемент | функциясе | '' |
Әгәр дә функция бирелсә, ул |
trigger |
кыл | 'hover focus' |
Кораллар ничек эшләнә - басыгыз | | | фокус | кулланма. Сез берничә триггер узарга мөмкин; аларны бушлык белән аерыгыз.
|
fallbackPlacements |
массив | ['top', 'right', 'bottom', 'left'] |
Массадагы урнаштыру исемлеген биреп, кире кайту урыннарын билгеләгез (өстенлек тәртибендә). Күбрәк мәгълүмат өчен Попперның тәртип документларына мөрәҗәгать итегез |
boundary |
кыл | элемент | 'clippingParents' |
Коралның чиктән тыш чик чикләре (Попперның профилактикасы Оверфлоу модификаторына гына кагыла). Килешү буенча ул 'clippingParents' һәм HTMLElement сылтамасын кабул итә ала (JavaScript аша гына). Күбрәк мәгълүмат өчен Popper's detectOverflow документларына мөрәҗәгать итегез . |
customClass |
кыл | функциясе | '' |
Күрсәтелгәндә инструментыгызга дәресләр өстәгез. Игътибар итегез, бу класслар шаблонда күрсәтелгән теләсә нинди классларга өстәп өстәләчәк. Берничә класс өстәр өчен, аларны урыннар белән аерыгыз : Сез шулай ук өстәмә класс исемнәре булган бер сызыкны кайтарырга тиеш функцияне уза аласыз. |
sanitize |
буле | true |
Санитизацияне эшләтеп җибәрү яки сүндерү. Активлаштырылса 'template' һәм 'title' вариантлар санитарияләнәчәк. Безнең JavaScript документациясендә санитизатор бүлеген карагыз . |
allowList |
объект | Килешенгән кыйммәт | Рөхсәт ителгән атрибутлар һәм тэглар булган объект |
sanitizeFn |
null | функциясе | null |
Монда сез үзегезнең санитария функциясен тәкъдим итә аласыз. Санитизация ясау өчен махсус китапханә кулланырга теләсәгез, бу файдалы булырга мөмкин. |
offset |
массив | кыл | функциясе | [0, 0] |
Максатына караганда кораллар оффеты. Сез мәгълүмат атрибутларында үтем белән аерылган кыйммәтләр белән уза аласыз: Офсетны билгеләү өчен функция кулланылганда, ул беренче аргумент буларак поппер урнаштыру, белешмәлек һәм поппер ректлары булган объект белән атала. Икенче аргумент буларак DOM төененең этәргеч элементы уза. Функция ике сан белән массивны кайтарырга тиеш : . Күбрәк мәгълүмат өчен Попперның офсет документларына мөрәҗәгать итегез . |
popperConfig |
null | объект | функциясе | null |
Bootstrap'ның default Popper конфигурациясен үзгәртү өчен, Popper конфигурациясен карагыз . Popper конфигурациясен булдыру өчен функция кулланылганда, ул Bootstrap'ның демократик Popper конфигурациясен үз эченә алган объект белән атала. Бу сиңа конфигурацияне кулланырга һәм берләштерергә ярдәм итә. Функция Popper өчен конфигурация объектын кайтарырга тиеш. |
Индивидуаль кораллар өчен мәгълүмат атрибутлары
Индивидуаль кораллар өчен вариантлар, югарыда аңлатылганча, мәгълүмат атрибутлары ярдәмендә альтернатив рәвештә күрсәтелергә мөмкин.
Белән функция куллануpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Методлар
Асинхрон ысуллар һәм күчү
Барлык API ысуллары да асинхрон һәм күчү башлый . Күчерелеш башлангач, ләкин ул беткәнче шалтыратучыга кире кайталар . Моннан тыш, күчү компонентына методик чакыру игътибарсыз калачак .
Күбрәк мәгълүмат алу өчен безнең JavaScript документларын карагыз .
шоу
Элемент коралын күрсәтә. Корал киңәше күрсәтелгәнче (ягъни shown.bs.tooltip
вакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кул белән” этәргеч булып санала. Нуль озынлыгы булган кораллар беркайчан да күрсәтелми.
tooltip.show()
яшер
Элемент коралын яшерә. Корал киңәше яшерелгәнче (ягъни hidden.bs.tooltip
вакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кул белән” этәргеч булып санала.
tooltip.hide()
күчү
Элементның инструменты. Корал киңәше күрсәтелгән яки яшерелгәнче ( shown.bs.tooltip
яисә hidden.bs.tooltip
вакыйга булганчы) шалтыратучыга кире кайта. Бу корал күрсәтмәсенең “кул белән” этәргеч булып санала.
tooltip.toggle()
утильләштерү
Элементның корал киңәшен яшерә һәм юкка чыгара (DOM элементында сакланган мәгълүматны бетерә). Делегацияне кулланган кораллар ( вариант ярдәмендә ясалганselector
) нәсел триггер элементларында аерым юк ителми.
tooltip.dispose()
кушарга
Элементның кораллар күрсәтү сәләтен күрсәтә. Кораллар килешү буенча кушылган.
tooltip.enable()
сүндер
Элементның корал күрсәтмәсен күрсәтү мөмкинлеген бетерә. Корал киңәше яңадан эшләнгән очракта гына күрсәтеләчәк.
tooltip.disable()
күчә
Элементның корал күрсәтмәсен күрсәтү яки яшерү мөмкинлеген күчә.
tooltip.toggleEnabled()
яңарту
Элемент коралының позициясен яңарта.
tooltip.update()
getInstance
DOM элементы белән бәйләнгән корал инстанциясен алырга мөмкинлек бирүче статик ысул
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
DOM элементы белән бәйләнгән корал инстанциясен алырга, яисә ул башланмаган очракта яңасын булдырырга мөмкинлек бирүче статик ысул.
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
Вакыйгалар
Вакыйга төре | Тасвирлау |
---|---|
show.bs.tooltip |
show Бу вакыйга инстанция ысулы чакырылганда шунда ук янып тора . |
shown.bs.tooltip |
Бу вакыйга инструмент киңәше кулланучыга күренгәндә эшләнә (CSS күчү тәмамлануын көтә). |
hide.bs.tooltip |
hide Бу вакыйга инстанция ысулы чакырылганда шунда ук эштән чыгарыла . |
hidden.bs.tooltip |
Бу вакыйга инструмент киңәше кулланучыдан яшерелгәннән соң (CSS күчү тәмамлануын көтеп торачак). |
inserted.bs.tooltip |
Бу вакыйга show.bs.tooltip DOMга кораллар шаблоны өстәлгәннән соң җибәрелә. |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()