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

Offcanvas

Build hidden sidebars into your project for navigation, shopping carts, and more with a few classes and our JavaScript plugin.

How it works

Offcanvas is a sidebar component that can be toggled via JavaScript to appear from the left, right, or bottom edge of the viewport. Buttons or anchors are used as triggers that are attached to specific elements you toggle, and data attributes are used to invoke our JavaScript.

  • Offcanvas shares some of the same JavaScript code as modals. Conceptually, they are quite similar, but they are separate plugins.
  • Similarly, some source Sass variables for offcanvas’s styles and dimensions are inherited from the modal’s variables.
  • When shown, offcanvas includes a default backdrop that can be clicked to hide the offcanvas.
  • Similar to modals, only one offcanvas can be shown at a time.

Heads up! Given how CSS handles animations, you cannot use margin or translate on an .offcanvas element. Instead, use the class as an independent wrapping element.

The animation effect of this component is dependent on the prefers-reduced-motion media query. See the reduced motion section of our accessibility documentation.

Examples

Offcanvas components

Below is an offcanvas example that is shown by default (via .show on .offcanvas). Offcanvas includes support for a header with a close button and an optional body class for some initial padding. We suggest that you include offcanvas headers with dismiss actions whenever possible, or provide an explicit dismiss action.

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>

Live demo

Use the buttons below to show and hide an offcanvas element via JavaScript that toggles the .show class on an element with the .offcanvas class.

  • .offcanvas hides content (default)
  • .offcanvas.show shows content

You can use a link with the href attribute, or a button with the data-bs-target attribute. In both cases, the data-bs-toggle="offcanvas" is required.

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>

Placement

There’s no default placement for offcanvas components, so you must add one of the modifier classes below;

  • .offcanvas-start places offcanvas on the left of the viewport (shown above)
  • .offcanvas-end places offcanvas on the right of the viewport
  • .offcanvas-bottom places offcanvas on the bottom of the viewport

Try the right and bottom examples out below.

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>

Backdrop

Scrolling the <body> element is disabled when an offcanvas and its backdrop are visible. Use the data-bs-scroll attribute to toggle <body> scrolling and data-bs-backdrop to toggle the 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>

Accessibility

Since the offcanvas panel is conceptually a modal dialog, be sure to add aria-labelledby="..."—referencing the offcanvas title—to .offcanvas. Note that you don’t need to add role="dialog" since we already add it via 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;

Usage

The offcanvas plugin utilizes a few classes and attributes to handle the heavy lifting:

  • .offcanvas hides the content
  • .offcanvas.show shows the content
  • .offcanvas-start hides the offcanvas on the left
  • .offcanvas-end hides the offcanvas on the right
  • .offcanvas-bottom hides the offcanvas on the bottom

Add a dismiss button with the data-bs-dismiss="offcanvas" attribute, which triggers the JavaScript functionality. Be sure to use the <button> element with it for proper behavior across all devices.

Via data attributes

Add data-bs-toggle="offcanvas" and a data-bs-target or href to the element to automatically assign control of one offcanvas element. The data-bs-target attribute accepts a CSS selector to apply the offcanvas to. Be sure to add the class offcanvas to the offcanvas element. If you’d like it to default open, add the additional class show.

Via JavaScript

Enable manually with:

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

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-bs-, as in data-bs-backdrop="".

Name Type Default Description
backdrop boolean true Apply a backdrop on body while offcanvas is open
keyboard boolean true Closes the offcanvas when escape key is pressed
scroll boolean false Allow body scrolling while offcanvas is open

Methods

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.

See our JavaScript documentation for more information.

Activates your content as an offcanvas element. Accepts an optional options object.

You can create an offcanvas instance with the constructor, for example:

var myOffcanvas = document.getElementById('myOffcanvas')
var bsOffcanvas = new bootstrap.Offcanvas(myOffcanvas)
Method Description
toggle Toggles an offcanvas element to shown or hidden. Returns to the caller before the offcanvas element has actually been shown or hidden (i.e. before the shown.bs.offcanvas or hidden.bs.offcanvas event occurs).
show Shows an offcanvas element. Returns to the caller before the offcanvas element has actually been shown (i.e. before the shown.bs.offcanvas event occurs).
hide Hides an offcanvas element. Returns to the caller before the offcanvas element has actually been hidden (i.e. before the hidden.bs.offcanvas event occurs).
_getInstance Static method which allows you to get the offcanvas instance associated with a DOM element

Events

Bootstrap’s offcanvas class exposes a few events for hooking into offcanvas functionality.

Event type Description
show.bs.offcanvas This event fires immediately when the show instance method is called.
shown.bs.offcanvas This event is fired when an offcanvas element has been made visible to the user (will wait for CSS transitions to complete).
hide.bs.offcanvas This event is fired immediately when the hide method has been called.
hidden.bs.offcanvas This event is fired when an offcanvas element has been hidden from the user (will wait for CSS transitions to complete).
var myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', function () {
  // do something...
})
返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          欧美性色欧美a在线播放| 久99久精品视频免费观看| 精品国产乱码久久久久久1区2区| 99久久夜色精品国产网站| 男男成人高潮片免费网站| 婷婷成人综合网| 亚洲免费高清视频在线| 亚洲女同ⅹxx女同tv| 26uuu亚洲综合色欧美| 日韩一级成人av| 91精品国产综合久久久久| 99久久99久久精品免费看蜜桃| 制服丝袜亚洲网站| 欧美老年两性高潮| 91行情网站电视在线观看高清版| 国产精品大尺度| 专区另类欧美日韩| 亚洲一区在线电影| 亚洲高清免费观看| 青青草91视频| 国产成人精品aa毛片| 成人污污视频在线观看| 国产成人综合在线观看| 成人黄色综合网站| 99久久精品情趣| 成人久久视频在线观看| 成人福利视频在线| 色哟哟一区二区在线观看| 欧美色成人综合| 欧美一级黄色大片| 国产欧美视频一区二区三区| 综合电影一区二区三区| 日韩国产精品久久久| 狠狠色狠狠色合久久伊人| 94色蜜桃网一区二区三区| 欧美综合色免费| 精品卡一卡二卡三卡四在线| 日韩一区日韩二区| 日韩国产一区二| 国产超碰在线一区| 欧美日韩极品在线观看一区| 精品国产乱码久久久久久牛牛 | 久久久久99精品国产片| 国产精品无人区| 人人精品人人爱| 国产精品一二三在| 欧美色图12p| 国产视频一区在线播放| 日av在线不卡| 欧美主播一区二区三区| 久久精子c满五个校花| 亚洲国产精品一区二区尤物区| 国产精品久久久久久久久久免费看| 777午夜精品视频在线播放| 久久一日本道色综合| 亚洲专区一二三| 成人av免费网站| 久久久久久久免费视频了| 亚洲一区二区精品视频| 成人精品高清在线| 日韩午夜电影av| 亚洲午夜电影网| 91在线观看一区二区| 久久久久国产精品人| 久久精品99国产精品日本| 欧美日韩精品专区| 亚洲一卡二卡三卡四卡| 一本大道久久a久久综合| 国产午夜精品一区二区| 久久www免费人成看片高清| 在线91免费看| 性做久久久久久久久| 欧美日韩精品高清| 婷婷国产v国产偷v亚洲高清| 欧美日韩精品专区| 天堂va蜜桃一区二区三区| 欧美色图免费看| 亚洲成人1区2区| 欧美欧美午夜aⅴ在线观看| 亚洲图片一区二区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人av资源在线观看| 亚洲国产精品99久久久久久久久| 国产精品久久久久影院老司| 国产精品一二三区在线| 中国色在线观看另类| 国产成人综合在线播放| 一区精品在线播放| 国产a精品视频| 中文字幕亚洲区| 色综合久久天天综合网| 亚洲美女免费视频| 538prom精品视频线放| 青草av.久久免费一区| 久久麻豆一区二区| 91偷拍与自偷拍精品| 亚洲一区二区三区三| 欧美一区二区私人影院日本| 久久草av在线| 中文字幕一区二区三区av| 色播五月激情综合网| 日本不卡视频在线| 久久精品亚洲麻豆av一区二区| 亚洲色图欧美偷拍| 在线电影欧美成精品| 久久99国产精品免费| 国产日本欧美一区二区| 91久久免费观看| 麻豆久久久久久久| 亚洲日本在线a| 精品国产髙清在线看国产毛片| 亚洲一区二区三区视频在线播放| 国产成人自拍在线| 亚洲自拍与偷拍| 国产精品天美传媒| 色综合色狠狠综合色| 捆绑变态av一区二区三区| 中文字幕一区二区三区在线播放 | 极品少妇xxxx偷拍精品少妇| 亚洲欧美在线视频观看| 91精品国产色综合久久不卡电影| 亚洲视频香蕉人妖| 日韩精品一区二| 99国产精品久久久久久久久久久| 久久久久亚洲蜜桃| 欧美女孩性生活视频| 粉嫩欧美一区二区三区高清影视| 欧美精品一区视频| 99久久精品费精品国产一区二区| 国产精品欧美久久久久无广告 | 国产呦萝稀缺另类资源| 亚洲精品国产精品乱码不99| 日本一区二区综合亚洲| 欧美成人欧美edvon| 欧美丝袜丝nylons| 色视频成人在线观看免| 麻豆久久久久久久| 日韩电影免费在线看| 亚洲日本一区二区三区| 欧美激情一区二区| 精品国产91亚洲一区二区三区婷婷 | 日韩精品一区二| 欧美肥胖老妇做爰| 欧美色爱综合网| 欧美三级日韩三级| 91一区二区在线观看| 波多野结衣精品在线| 成人综合婷婷国产精品久久| 国产精品中文欧美| 国产一区二区三区电影在线观看| 国产精品麻豆久久久| 久久九九久久九九| 久久久久亚洲综合| 国产日韩欧美精品在线| 国产调教视频一区| 久久精品亚洲麻豆av一区二区 | 日韩欧美区一区二| 欧美一区二区三区免费视频 | 欧美剧在线免费观看网站| 91福利国产精品| 精品污污网站免费看| 欧美性三三影院| 日韩欧美亚洲另类制服综合在线| 成人h版在线观看| 91激情在线视频| 欧美一区二区三级| 欧美一级片在线观看| 日韩精品在线一区二区| 精品免费一区二区三区| 国产亚洲一区二区三区在线观看| 欧美午夜电影一区| 7777精品久久久大香线蕉| 日韩欧美一二三四区| 久久久99精品久久| 亚洲情趣在线观看| 日韩av中文在线观看| 精品午夜一区二区三区在线观看| 亚洲午夜久久久| 激情av综合网| 91色视频在线| 日韩一级黄色大片| 国产精品日产欧美久久久久| 亚洲精品ww久久久久久p站| 青青草国产精品亚洲专区无| 国产高清在线精品| 日本道精品一区二区三区| 欧美tickling挠脚心丨vk| 亚洲国产成人一区二区三区| 亚洲一区视频在线| 成人av网址在线观看| 在线不卡中文字幕播放| 国产精品福利一区二区三区| 日韩精品欧美成人高清一区二区| 一区二区三区中文字幕电影| 韩国av一区二区三区在线观看| 日日夜夜免费精品| 成人免费的视频| 日韩一区二区免费高清| 亚洲欧美中日韩| 国产在线日韩欧美|