精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

工具提示(Tooltips)

如何透過CSS與Javascript添加自定義Bootstrap工具提示的文件與示例。其中CSS3用于動畫,data-bs-attributes用于用于本地標題的儲存。

概述

使用工具提示插件時應注意的事項:

  • 工具提示依賴于第三方庫Popper進行定位。您必須在bootstrap.js之前包含popper.min.js,或者使用bootstrap.bundle.min.js/bootstrap.bundle.js,其中包含popper,這樣工具提示才能工作!
  • 由于性能原因,工具提示是可選的,因此您必須自己初始化它們。
  • 標題長度為零的工具提示永遠不會顯示。
  • 指定container:'body'以避免在更復雜的組件(如輸入組、按鈕組等)中呈現問題。
  • 在隱藏元素上觸發工具提示將不起作用。
  • .disabled或disabled元素的工具提示必須在包裝器元素上觸發。
  • 當從跨多行的超鏈接觸發時,工具提示將居中顯示。使用空白:nowrap;以避免這種行為。
  • 在從DOM中刪除相應的元素之前,必須隱藏工具提示。
  • 由于陰影DOM中的元素,可以觸發工具提示。
默認情況下,此組件使用內置的內容清理器,該清理器將刪除任何不明確允許的HTML元素。有關更多詳細信息,請參閱JavaScript文檔中的“消毒液”部分。
該組件的動畫效果取決于偏好減少的運動媒體查詢。請參閱我們的可訪問性文檔的簡化運動部分。

明白了嗎?太好了,讓我們用一些例子來看看它們是如何工作的。

示例:在各處用工具提示

初始化頁面上所有工具提示的一種方法是通過數據屬性選擇它們:

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

示例

將鼠標懸停在以下鏈接上可查看工具提示:

Placeholder text to demonstrate some inline links with tooltips. This is now just filler, no killer. Content placed here just to mimic the presence of real text. 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 these tooltips on links can work in practice, once you use them on your own site or project.

將鼠標懸停在下面的按鈕上可以看到四個工具提示方向:頂部、右側、底部和左側。在RTL中使用 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>

添加自定義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:

Sass

Variables

$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 / 4;
$tooltip-padding-x:                 $spacer / 2;
$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)
溢出自動和滾動

當父容器發生溢出時,工具提示位置嘗試自動更改:自動或溢出:像.table一樣滾動,但仍保持原始位置的位置。若要解析,請將邊界選項設置為除默認值“scrollParent”以外的任何值,例如“window”:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: 'window'
})

標記

工具提示所需的標記只是您希望具有工具提示的HTML元素的數據屬性和標題。工具提示的生成標記相當簡單,盡管它確實需要一個位置(默認情況下,由插件設置為top)。

使工具提示適用于鍵盤和輔助技術使用者

您應該只為傳統上可被鍵盤focus以及可互動(如連接或表單控制元件)的HTML元素添加工具提示。雖然任意的HTML元素(如span)可以透過添加tabindex=“0”屬性使其可以被focus,但這會為鍵盤使用者的非互動式元素增加可能造成困惑的定位點。且大多數的輔助技術目前還不會推播這種工具提示。此外,不要單純依賴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屬性的元素不是交互式的,這意味著用戶不能聚焦、懸停或單擊它們來觸發工具提示(或popover)。作為一種解決方法,您需要從包裝器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=""中所示。在傳遞數據屬性時,請確保將選項名稱的case類型從camelCase更改為kebab case。例如:不要使用數據data-bs-customClass="beautifier",而是使用數據 data-bs-custom-class="beautifier"。

請注意,出于安全原因,不能使用數據屬性提供sanitize、sanitizeFn和allowList選項。
Name Type Default Description
animation boolean true 對工具提示應用CSS淡入淡出過渡
container string | element | false false

將工具提示附加到特定元素。示例:container:'body'。此選項特別有用,因為它允許您將工具提示放置在觸發元素附近的文檔流中—這將防止工具提示在調整窗口大小期間從觸發元素中浮動。

delay number | object 0

延遲顯示和隱藏工具提示(ms)-不適用于手動觸發器類型

如果提供了數字,則對隱藏/顯示都應用延遲

對象結構是:delay:{“show”:500,“hide”:100}

html boolean false

允許在工具提示中使用HTML。

如果為true,則工具提示標題中的HTML標記將呈現在工具提示中。如果為false,innerText屬性將用于將內容插入DOM。

如果您擔心XSS攻擊,請使用文本。

placement string | function 'top'

如何定位工具提示-自動|頂部|底部|左側|右側。當指定auto時,它將動態地重定向工具提示。

函數用于確定位置時,調用它時,工具提示DOM節點作為第一個參數,觸發元素DOM節點作為第二個參數。此上下文設置為工具提示實例。

selector string | false false 如果提供了選擇器,則工具提示對象將委派給指定的目標。實際上,它還用于將工具提示應用于動態添加的DOM元素(jQuery.on support)。請看這個和一個信息豐富的例子。 this and an informative example.
template string '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'

創建工具提示時要使用的基本HTML。

工具提示的標題將被注入.tooltip內部。

工具提示箭頭將成為工具提示的箭頭。

最外層的包裝器元素應該具有.tooltip類和role=“tooltip”。

title string | element | function ''

如果標題屬性不存在,則為默認標題值。

如果給定了一個函數,將調用該函數,并將其this引用設置為工具提示所附加到的元素。

trigger string 'hover focus'

如何觸發工具提示-單擊“懸停”“聚焦”“手動”。您可以傳遞多個觸發器;用空格隔開。

“manual”表示工具提示將通過.tooltip('show')、.tooltip('hide')和.tooltip('toggle')方法以編程方式觸發;此值不能與任何其他觸發器組合。

“懸停”本身將導致無法通過鍵盤觸發的工具提示,并且僅當存在用于向鍵盤用戶傳遞相同信息的替代方法時才應使用。

fallbackPlacements array ['top', 'right', 'bottom', 'left'] 通過提供數組中的放置列表(按優先順序)來定義后備放置。有關更多信息,請參閱波普爾的行為文檔 behavior docs
boundary string | element 'clippingParents' 工具提示的溢出約束邊界。默認情況下,它是'clippingParents',可以接受HTMLElement引用(僅限于JavaScript)。有關更多信息,請參閱波普爾的文件。 preventOverflow docs.
customClass string | function ''

在顯示工具提示時向其添加類。請注意,這些類將添加到模板中指定的任何類之外。要添加多個類,請用空格分隔它們:“class-1 class-2”。

還可以傳遞一個函數,該函數應返回一個包含其他類名的字符串。

sanitize boolean true 啟用或禁用消毒。如果激活,“模板”和“標題”選項將被清除。請參閱我們的JavaScript文檔中的消毒劑部分。
allowList object Default value 包含允許的屬性和標記的對象
sanitizeFn null | function null 在這里您可以提供自己的消毒功能。如果您喜歡使用專用的庫來執行清理,這將非常有用。
offset array | string | function [0, 0]

工具提示相對于其目標的偏移量。您可以用逗號分隔的值在數據屬性中傳遞字符串,例如:data bs offset=“10,20”

當一個函數用于確定偏移量時,調用它的第一個參數是包含popper放置、引用和popper rects的對象。觸發元素DOM node作為第二個參數傳遞。函數必須返回一個包含兩個數字的數組:[滑動,距離]。

F有關更多信息,請參閱offset docs.

popperConfig null | object | function null

T要更改引導的默認Popper配置,請參閱Popper的配置。 .

當一個函數被用來創建Popper配置時,它被一個包含引導的默認Popper配置的對象調用。它可以幫助您使用默認配置并將其與您自己的配置合并。函數必須返回Popper的配置對象。

單個工具提示的數據屬性

也可以通過使用數據屬性來指定單個工具提示的選項,如上所述。

Using function with popperConfig

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

方法

異步方法和轉換

所有API方法都是異步的,并開始轉換。轉換一開始就返回到調用方,但在轉換結束之前返回。此外,對轉換組件的方法調用將被忽略。 有關更多信息,請參閱我們的JavaScript文檔。

顯示

顯示元素的工具提示。在工具提示實際顯示之前(即,在show.bs.tooltip事件發生之前)返回調用方。這被認為是工具提示的“手動”觸發。標題長度為零的工具提示永遠不會顯示。

tooltip.show()

隱藏

隱藏元素的工具提示。在工具提示實際隱藏之前(即在hidden.bs.tooltip事件發生之前)返回調用方。這被認為是工具提示的“手動”觸發。

tooltip.hide()

切換

切換元素的工具提示。在工具提示實際顯示或隱藏之前(即,在Showed.bs.tooltip或hidden.bs.tooltip事件發生之前)返回調用方。這被認為是工具提示的“手動”觸發。

tooltip.toggle()

注銷

隱藏和銷毀元素的工具提示(刪除DOM元素上存儲的數據)。使用委派(使用選擇器選項創建)的工具提示不能在子觸發器元素上單獨銷毀。

tooltip.dispose()

啟用

使元素的工具提示能夠顯示。默認情況下啟用工具提示。

tooltip.enable()

禁用

取消顯示元素工具提示的功能。工具提示只有在重新啟用時才能顯示。

tooltip.disable()

啟用切換

切換顯示或隱藏元素工具提示的功能。

tooltip.toggleEnabled()

更新

更新元素工具提示的位置。

tooltip.update()

獲取實例

靜態方法,該方法允許您獲取與DOM元素關聯的工具提示實例

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

事件

Event type Description
show.bs.tooltip 當調用show實例方法時,此事件會立即觸發。
shown.bs.tooltip 當工具提示顯示后,會觸發此事件(待CSS轉換完成)。
hide.bs.tooltip 當調用hide實例方法時,會立即觸發此事件。
hidden.bs.tooltip 當工具提示隱藏后,會觸發此事件(待CSS轉換完成)。
inserted.bs.tooltip 將工具提示模板加到DOM后,會在show.bs.tooltip事件后觸發此事件。
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)

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

tooltip.hide()
返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      国产无遮挡一区二区三区毛片日本| 亚洲国产成人午夜在线一区 | 亚洲国产一区二区三区在线播| 一本久久综合亚洲鲁鲁五月天| 久久久国产精品一区二区三区| 欧美特黄一区| 91久久精品日日躁夜夜躁国产| 欧美中文字幕在线播放| 国产精品久久久久aaaa九色| 99精品国产福利在线观看免费 | 久久久久国色av免费看影院| 国产精品久久九九| 99re热精品| 免费观看欧美在线视频的网站| 国产一区二区毛片| 亚洲精品中文字幕在线观看| 美女诱惑一区| 在线不卡欧美| 久久久亚洲精品一区二区三区| 国产片一区二区| 午夜一区二区三区在线观看 | 欧美一级视频免费在线观看| 欧美性色aⅴ视频一区日韩精品| 亚洲精品国精品久久99热| 玖玖精品视频| 亚洲大片精品永久免费| 美女视频黄a大片欧美| 伊人久久综合97精品| 浪潮色综合久久天堂| 一区二区三区自拍| 蜜桃伊人久久| 亚洲精品永久免费精品| 欧美日韩和欧美的一区二区| 一区二区三区久久精品| 欧美日韩一区在线| 亚洲尤物视频网| 国产精品资源| 欧美影院精品一区| 红桃视频成人| 欧美极品aⅴ影院| 99国产精品久久久久久久成人热| 欧美午夜精品久久久久久孕妇| av成人老司机| 国产精品伦理| 久久久精品五月天| 亚洲经典一区| 欧美三区不卡| 性8sex亚洲区入口| 樱桃成人精品视频在线播放| 欧美精品1区2区| 亚洲网站视频| 黑人极品videos精品欧美裸| 欧美+日本+国产+在线a∨观看| 夜夜爽av福利精品导航| 国产欧美丝祙| 欧美不卡在线| 亚洲欧美精品suv| 在线观看久久av| 欧美日韩免费在线| 久久精品国产亚洲一区二区| 亚洲精品免费看| 国产精品日韩一区| 能在线观看的日韩av| 亚洲天天影视| 在线播放中文字幕一区| 欧美性猛交99久久久久99按摩 | 国产区欧美区日韩区| 老司机67194精品线观看| 99re6热只有精品免费观看| 国产午夜亚洲精品不卡| 欧美另类亚洲| 久久精品人人做人人爽| 99精品国产在热久久下载| 国内偷自视频区视频综合| 欧美美女bb生活片| 久久免费观看视频| 亚洲欧美文学| 99在线精品视频| 黄色成人av网| 国产伦精品一区二区三| 欧美日本一道本| 久久一区二区三区国产精品 | 最新国产精品拍自在线播放| 国产乱肥老妇国产一区二| 欧美精品在线一区| 麻豆精品一区二区综合av| 先锋影院在线亚洲| 亚洲在线一区二区| 亚洲激情中文1区| 国产亚洲精品久| 国产精品免费久久久久久| 欧美喷潮久久久xxxxx| 久久夜色精品亚洲噜噜国产mv| 亚洲一区二区成人| 99成人免费视频| 亚洲日本一区二区| 亚洲国产精品久久久久婷婷老年 | 久久五月婷婷丁香社区| 午夜精品影院| 亚洲一区二区精品在线观看| 亚洲激情不卡| 亚洲黄色免费| 亚洲人成亚洲人成在线观看| 亚洲成人在线网站| 在线精品国产欧美| 在线观看国产成人av片| 亚洲第一级黄色片| 在线精品视频在线观看高清| 一区在线影院| 尤妮丝一区二区裸体视频| 精品成人一区二区三区四区| 国产在线视频欧美一区二区三区| 国产精品视频男人的天堂 | 欧美揉bbbbb揉bbbbb| 欧美激情视频在线播放| 欧美精品精品一区| 欧美日韩八区| 国产精品成人va在线观看| 国产精品www色诱视频| 国产精品久久久久高潮| 国产欧美日韩精品a在线观看| 国产午夜精品久久| 黄色成人91| 亚洲人成网站影音先锋播放| 亚洲看片一区| 亚洲一区二区黄色| 久久精视频免费在线久久完整在线看| 久久久久久久久久久成人| 蜜桃av一区二区三区| 欧美喷潮久久久xxxxx| 欧美网站在线观看| 国产女人18毛片水18精品| 激情欧美国产欧美| 日韩午夜av| 久久99在线观看| 蜜臀va亚洲va欧美va天堂| 欧美日韩国产限制| 国产日韩一区二区三区| 最近中文字幕mv在线一区二区三区四区| 亚洲激情社区| 亚洲欧美日韩精品久久亚洲区| 久久国产精品久久精品国产| 欧美高清在线一区二区| 国产精品嫩草99a| 在线电影院国产精品| 亚洲愉拍自拍另类高清精品| 久久免费观看视频| 国产精品第一页第二页第三页| 国产一区在线视频| 一区二区三区视频在线播放| 久久久久高清| 欧美午夜精品理论片a级按摩| 黄色资源网久久资源365| 一区二区三区导航| 久久婷婷麻豆| 国产精品久久久久aaaa樱花| 亚洲国产另类久久精品| 午夜亚洲性色视频| 欧美激情精品久久久久久大尺度 | 亚洲国产成人av| 香蕉久久夜色精品国产使用方法| 欧美成人三级在线| 狠狠色狠狠色综合人人| 亚洲免费在线看| 欧美激情区在线播放| 激情六月婷婷综合| 亚洲欧美在线免费| 欧美日韩亚洲另类| 在线观看欧美激情| 久久精品午夜| 国产精品美女在线观看| av不卡在线观看| 欧美国产亚洲精品久久久8v| 一区二区三区在线看| 欧美伊人久久久久久午夜久久久久| 欧美日韩在线不卡一区| 亚洲欧洲视频在线| 欧美va天堂在线| 精东粉嫩av免费一区二区三区| 久久成人综合视频| 国产精品一区二区三区四区五区| 中文亚洲欧美| 欧美日韩国产精品专区| 亚洲国产日韩在线一区模特| 久久视频一区二区| 狠狠色综合网| 久久精品最新地址| 国产一区二区福利| 久久国产日韩| 韩国精品在线观看| 久久男女视频| 在线成人免费视频| 欧美+日本+国产+在线a∨观看| 亚洲高清久久久| 欧美福利在线| 亚洲精品一区二区网址| 欧美日韩小视频| 亚洲一区二区免费在线| 国产精品入口夜色视频大尺度 | 国产视频一区二区在线观看|