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

滑動導航(Offcanvas)

使用一些類和我們的JavaScript插件在項目中構建隱藏的側邊欄,用于導航、購物車等。

工作原理

Offcanvas是一個側邊欄組件,可以通過JavaScript進行切換,從視口的左、右或下邊緣顯示。按鈕或錨點用作觸發器,附加到您切換的特定元素,數據屬性用于調用我們的JavaScript。

  • Offcanvas與modals共享一些相同的JavaScript代碼。從概念上講,它們非常相似,但它們是獨立的插件。
  • 類似地,offcanvas的樣式和維度的一些源Sass變量是從modal的變量繼承的。
  • 當顯示時,Offcanvas包括一個默認的背景,可以點擊隱藏隱藏的畫布。
  • 與模態框類似,一次只能顯示一個offcanvas。

注意! 考慮到CSS處理動畫的方式,您不能在.offcanvas元素上使用margin或translate。相反,將類用作獨立的包裝元素。

此組件的動畫效果取決于“首選簡化運動媒體”查詢。

示例

組件

下面是一個默認顯示的offcanvas示例(via.show on.offcanvas)。Offcanvas包括對帶有關閉按鈕的標題的支持,以及對一些初始填充的可選主體類。我們建議您盡可能將offcanvas頭包含在dismise操作中,或者提供顯式dismise操作。

Offcanvas
Content for the offcanvas goes here. You can place just about any Bootstrap component or custom elements here.
<div class="offcanvas offcanvas-start show" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel" data-bs-backdrop="false" data-bs-scroll="true">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
Content for the offcanvas goes here. You can place just about any Bootstrap component or custom elements here.
</div>
</div>

實例演示

使用下面的按鈕可以通過JavaScript顯示和隱藏offcanvas元素,JavaScript將元素上的.show類與.offcanvas類切換。

  • .offcanvas 隱藏內容(默認)
  • .offcanvas.show 顯示內容

可以使用帶有href屬性的鏈接,也可以使用帶有data-bs-target屬性的按鈕。在這兩種情況下,都需要數據data-bs-toggle="offcanvas"

Link with href
Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
<a class="btn btn-primary" data-bs-toggle="offcanvas" href="#offcanvasExample" role="button" aria-controls="offcanvasExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
Button with data-bs-target
</button>

<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
</div>
<div class="dropdown mt-3">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown">
  Dropdown button
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  <li><a class="dropdown-item" href="#">Action</a></li>
  <li><a class="dropdown-item" href="#">Another action</a></li>
  <li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
</div>
</div>

定位

這里沒有offcanvas組件的默認位置,因此必須添加下面的一個修飾符類;

  • .offcanvas-start 放置在視口左側(如上所示)
  • .offcanvas-end 放置在視口的右側
  • .offcanvas-bottom 放置在視口的底部

試試下面右邊和下面的例子。

Offcanvas right
...
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight">Toggle right offcanvas</button>

<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header">
<h5 id="offcanvasRightLabel">Offcanvas right</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
...
</div>
</div>
Offcanvas bottom
...
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasBottom" aria-controls="offcanvasBottom">Toggle bottom offcanvas</button>

<div class="offcanvas offcanvas-bottom" tabindex="-1" id="offcanvasBottom" aria-labelledby="offcanvasBottomLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasBottomLabel">Offcanvas bottom</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body small">
...
</div>
</div>

背景

當 offcanvas及其背景可見時,將禁用滾動元素。使用data-bs-scroll屬性切換body滾動,使用data-bs-backdrop切換背景。

Colored with scrolling

Try scrolling the rest of the page to see this option in action.

Offcanvas with backdrop

.....

Backdroped with scrolling

Try scrolling the rest of the page to see this option in action.

<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Enable body scrolling</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBackdrop" aria-controls="offcanvasWithBackdrop">Enable backdrop (default)</button>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasWithBothOptions" aria-controls="offcanvasWithBothOptions">Enable both scrolling & backdrop</button>

<div class="offcanvas offcanvas-start" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvasScrolling" aria-labelledby="offcanvasScrollingLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasScrollingLabel">Colored with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasWithBackdrop" aria-labelledby="offcanvasWithBackdropLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBackdropLabel">Offcanvas with backdrop</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>.....</p>
</div>
</div>
<div class="offcanvas offcanvas-start" data-bs-scroll="true" tabindex="-1" id="offcanvasWithBothOptions" aria-labelledby="offcanvasWithBothOptionsLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Backdroped with scrolling</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<p>Try scrolling the rest of the page to see this option in action.</p>
</div>
</div>

可達性

由于offcanvas面板在概念上是一個模態對話框,請確保添加aria labelledby=“…”-引用offcanvas標題到.offcanvas。注意,您不需要添加role=“dialog”,因為我們已經通過JavaScript添加了它。

Sass

Variables

$offcanvas-padding-y:               $modal-inner-padding;
$offcanvas-padding-x:               $modal-inner-padding;
$offcanvas-horizontal-width:        400px;
$offcanvas-vertical-height:         30vh;
$offcanvas-transition-duration:     .3s;
$offcanvas-border-color:            $modal-content-border-color;
$offcanvas-border-width:            $modal-content-border-width;
$offcanvas-title-line-height:       $modal-title-line-height;
$offcanvas-bg-color:                $modal-content-bg;
$offcanvas-color:                   $modal-content-color;
$offcanvas-body-backdrop-color:     rgba($modal-backdrop-bg, $modal-backdrop-opacity);
$offcanvas-box-shadow:              $modal-content-box-shadow-xs;

用法

offcanvas插件利用幾個類和屬性來處理繁重的工作:

  • .offcanvas 隱藏內容
  • .offcanvas.show 顯示內容
  • .offcanvas-start offcanvas隱藏到左側
  • .offcanvas-end 隱藏到右側
  • .offcanvas-bottom 隱藏到底部

添加一個帶有data-bs-dismiss="offcanvas" 屬性的dismise按鈕,該屬性觸發JavaScript功能。一定要使用button元素在所有設備上進行正確的操作。 Add a dismiss button with the attribute, which triggers the JavaScript functionality. Be sure to use the <button> element with it for proper behavior across all devices.

通過數據屬性

向元素添加data-bs-toggle="offcanvas"data-bs-target or href,以自動分配對一個offcanvas元素的控制。data-bs-target屬性接受CSS選擇器來應用offcanvas。確保將類offcanvas添加到offcanvas元素。如果希望它默認打開,請添加額外的show類。

通過JavaScript

手動啟用:

var offcanvasElementList = [].slice.call(document.querySelectorAll('.offcanvas'))
var offcanvasList = offcanvasElementList.map(function (offcanvasEl) {
return new bootstrap.Offcanvas(offcanvasEl)
})

選項

選項可以通過數據屬性或JavaScript傳遞。對于數據屬性,將選項名稱附加到data- bs-,如data-bs-backdrop=""

Name Type Default Description
backdrop boolean true 當offcanvas打開時在主體上應用背景
keyboard boolean true 按escape鍵時關閉offcanvas
scroll boolean false 允許在offcanvas打開時滾動正文

方法

Asynchronous methods and transitions

All API methods are asynchronous and start a transition. They return to the caller as soon as the transition is started but before it ends. In addition, a method call on a transitioning component will be ignored.

將內容激活為 offcanvas。接受可選選項對象。

可以使用構造函數創建offcanvas實例,例如:

var myOffcanvas = document.getElementById('myOffcanvas')
var bsOffcanvas = new bootstrap.Offcanvas(myOffcanvas)
Method Description
toggle 將offcanvas元素切換為“顯示”或“隱藏”。在實際顯示或隱藏offcanvas元素之前(即在發生show.bs.offcanvas或hidden.bs.offcanvas事件之前)返回調用方。
show 顯示offcanvas元素。在實際顯示offcanvas元素之前(即,在show.bs.offcanvas事件發生之前)返回調用方。
hide 隱藏offcanvas元素。在offcanvas元素實際隱藏之前(即在hidden.bs.offcanvas事件發生之前)返回給調用方。
_getInstance 靜態方法,它允許您獲取與DOM元素關聯的offcanvas實例

事件

Bootstrap的offcanvas類公開了一些事件,用于連接到offcanvas功能。

Event type Description
show.bs.offcanvas 調用show instance方法時,此事件立即激發。
shown.bs.offcanvas 當offcanvas元素對用戶可見時(將等待CSS轉換完成),將觸發此事件。
hide.bs.offcanvas 調用hide方法后,會立即激發他的事件。
hidden.bs.offcanvas 當對用戶隱藏offcanvas元素時(將等待CSS轉換完成),將觸發此事件。
var myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', function () {
// do something...
})
返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          国产69精品久久久久777| 国产毛片精品视频| 中文字幕亚洲精品在线观看| 欧美xxxxxxxxx| 884aa四虎影成人精品一区| 欧美日韩一二三区| 欧美伦理视频网站| 欧美一区二区精品久久911| 欧美日韩一级黄| 91在线小视频| 91蜜桃视频在线| 91偷拍与自偷拍精品| 波多野结衣精品在线| 不卡高清视频专区| 色猫猫国产区一区二在线视频| 91久久久免费一区二区| 99精品一区二区| 在线观看日韩精品| 成人精品视频.| 97久久超碰精品国产| 色又黄又爽网站www久久| 色www精品视频在线观看| 欧美网站大全在线观看| 欧美日韩一区不卡| 欧美本精品男人aⅴ天堂| 欧美一级理论片| 国产日本亚洲高清| 亚洲在线视频一区| 美国十次综合导航| 成人激情免费网站| 欧美三级日韩在线| 久久新电视剧免费观看| 国产精品电影一区二区| 亚洲午夜在线观看视频在线| 乱中年女人伦av一区二区| 国产成都精品91一区二区三 | 亚洲免费观看高清在线观看| 亚洲人成网站影音先锋播放| 日本中文在线一区| 国产.欧美.日韩| 在线视频一区二区免费| 久久亚洲捆绑美女| 亚洲成人三级小说| 成人晚上爱看视频| 欧美一区二区三区视频在线| 欧美激情一区二区| 美女视频第一区二区三区免费观看网站 | 激情久久五月天| 91在线国产福利| 精品久久久网站| 亚洲欧洲一区二区三区| 男人的天堂久久精品| 丰满少妇在线播放bd日韩电影| 婷婷开心激情综合| 99久久国产综合精品麻豆| 精品视频一区二区不卡| 欧美激情综合在线| 黑人巨大精品欧美黑白配亚洲| 日韩制服丝袜先锋影音| 一本大道av一区二区在线播放| 国产成人午夜片在线观看高清观看| 日本vs亚洲vs韩国一区三区二区 | 亚洲综合区在线| 精品午夜一区二区三区在线观看 | 久久精品理论片| 欧美中文字幕一区二区三区亚洲| 99视频精品全部免费在线| 日韩欧美一级二级| 最新高清无码专区| 国产一区二区影院| 日韩女优av电影在线观看| 亚洲综合免费观看高清在线观看| 亚洲综合激情网| thepron国产精品| 国产精品毛片久久久久久| 国产高清久久久| 亚洲国产精品黑人久久久| 国产乱子伦视频一区二区三区 | 日韩欧美亚洲国产另类| 亚洲高清视频在线| 91理论电影在线观看| 日本一区二区三区在线观看| 国产iv一区二区三区| 国产欧美日韩精品一区| 国产suv精品一区二区三区| 国产亚洲一区二区三区四区| 国产不卡在线一区| 国产精品国产精品国产专区不片| 一区二区三区**美女毛片| 99精品欧美一区二区三区小说 | 久久综合给合久久狠狠狠97色69| 欧美国产日产图区| 99久久精品费精品国产一区二区| 欧美日韩高清在线播放| 天堂一区二区在线| 欧美影院一区二区| 日韩av中文在线观看| 精品va天堂亚洲国产| 国产a区久久久| 亚洲激情图片小说视频| 91精品国产免费| 国产综合成人久久大片91| 国产午夜一区二区三区| 色综合久久久久网| 日本欧美一区二区三区乱码| 国产拍欧美日韩视频二区| eeuss鲁片一区二区三区在线观看| 日韩美女视频一区二区在线观看| 亚洲欧洲精品天堂一级| 9191成人精品久久| 国内外成人在线| 亚洲精品成人天堂一二三| 日韩一区二区高清| 99在线精品观看| 日本v片在线高清不卡在线观看| 色国产精品一区在线观看| 麻豆视频观看网址久久| 久久久国产精品麻豆| 91久久奴性调教| 国产精品911| 午夜视频在线观看一区| 国产精品美女久久久久av爽李琼 | 91亚洲大成网污www| 日韩精品电影在线| 亚洲欧美偷拍卡通变态| 欧美成人a视频| 欧美色区777第一页| 国产激情视频一区二区三区欧美| 日韩欧美国产不卡| 99在线精品免费| 久久97超碰色| 视频一区视频二区在线观看| 国产精品久久久久一区 | 亚洲精品视频在线观看网站| 日韩欧美在线1卡| 欧美专区日韩专区| www.亚洲色图.com| 粉嫩aⅴ一区二区三区四区| 美国毛片一区二区| 五月天激情小说综合| 亚洲欧美乱综合| 国产精品久久久久久久岛一牛影视 | 国产精品网站在线播放| 日韩精品一区二区三区四区 | 在线免费精品视频| eeuss鲁一区二区三区| 精品一区二区久久久| 午夜视频久久久久久| 亚洲日本va在线观看| 国产精品国产a| 久久久蜜桃精品| 欧美成人官网二区| 日韩无一区二区| 日韩精品专区在线| 日韩精品一区二| 日韩欧美一级片| 精品国产一二三区| 久久亚洲综合色| 久久综合给合久久狠狠狠97色69| 不卡电影一区二区三区| 成人av电影在线观看| 99精品视频在线观看| 成a人片国产精品| 色综合天天综合狠狠| 91色.com| 欧美三级视频在线播放| 欧美一区二区三区不卡| 精品欧美乱码久久久久久 | 欧美电影一区二区| 欧美一级专区免费大片| 日韩欧美一区二区三区在线| 欧美成人艳星乳罩| 日本一区二区不卡视频| 专区另类欧美日韩| 日韩国产欧美三级| 九九视频精品免费| bt欧美亚洲午夜电影天堂| 欧美在线视频日韩| 精品久久久网站| 亚洲色图都市小说| 爽好久久久欧美精品| 国产精品一区免费在线观看| av中文字幕不卡| 欧美一级视频精品观看| 中文字幕精品—区二区四季| 一区二区免费在线| 乱一区二区av| 不卡的av网站| 欧美变态tickling挠脚心| 亚洲免费在线看| 国产精品中文字幕一区二区三区| 亚洲国产va精品久久久不卡综合| 亚洲国产精品成人久久综合一区| 欧美一二三区在线观看| 久久精品水蜜桃av综合天堂| 亚洲自拍另类综合| 成人永久aaa| 91麻豆精品国产无毒不卡在线观看 | 亚洲丝袜制服诱惑| 国产美女娇喘av呻吟久久|