精品久久久久久亚洲精品_成人午夜网站_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;">

          www一区二区| 中文字幕一区二区三区在线不卡| 精品国产乱码久久久久久免费| 五月婷婷欧美视频| 欧美成人激情免费网| 国产一区二区精品久久91| 欧美国产精品一区二区三区| 成人毛片视频在线观看| 一区二区高清视频在线观看| 欧美日韩国产影片| 精品在线免费视频| 日韩码欧中文字| 日韩欧美二区三区| 色狠狠色狠狠综合| 国产一区二区久久| 亚洲五月六月丁香激情| 久久香蕉国产线看观看99| 色狠狠综合天天综合综合| 麻豆国产欧美日韩综合精品二区 | 欧美无砖砖区免费| 麻豆精品视频在线观看| 亚洲精品中文字幕在线观看| 精品欧美一区二区久久| 色域天天综合网| 国产制服丝袜一区| 亚洲成人av一区二区三区| 国产婷婷色一区二区三区| 欧美精品乱码久久久久久按摩| 成人性生交大片免费看在线播放| 久久精品国产久精国产| 亚洲大片一区二区三区| 一色屋精品亚洲香蕉网站| 精品日韩在线观看| 91精品国产综合久久香蕉的特点| 97久久精品人人做人人爽50路| 国产一区激情在线| 久久疯狂做爰流白浆xx| 七七婷婷婷婷精品国产| 亚洲午夜精品一区二区三区他趣| 国产精品高潮呻吟久久| 欧美国产一区在线| 国产精品污污网站在线观看| 久久九九久精品国产免费直播| 日韩欧美久久一区| 欧美成人激情免费网| 欧美电视剧在线观看完整版| 欧美一区二区三区四区高清| 欧美日韩国产首页在线观看| 欧美午夜精品一区| 88在线观看91蜜桃国自产| 日韩一区二区三区免费观看| 精品欧美久久久| 欧美国产激情一区二区三区蜜月 | 亚洲gay无套男同| 亚洲欧美激情在线| 一区二区在线免费观看| 亚洲福利视频导航| 麻豆91免费观看| 国产乱一区二区| 成人做爰69片免费看网站| 成人午夜在线播放| 91碰在线视频| 欧美午夜视频网站| 日韩欧美亚洲一区二区| 久久久99久久| 亚洲综合色自拍一区| 午夜电影网一区| 国产酒店精品激情| 91免费看视频| 6080yy午夜一二三区久久| 日韩色在线观看| 亚洲欧洲av一区二区三区久久| 亚洲精品国产精品乱码不99| 日韩和欧美一区二区三区| 极品瑜伽女神91| 91久久奴性调教| 久久综合色8888| 亚洲欧美激情在线| 美女视频黄 久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 不卡一区二区中文字幕| 欧美日韩亚洲另类| 久久免费美女视频| 一区二区三区不卡视频| 国内精品自线一区二区三区视频| 国产91在线看| 日韩视频一区在线观看| 日韩伦理电影网| 国产在线播放一区二区三区 | 91亚洲国产成人精品一区二区三 | 69久久99精品久久久久婷婷 | av一区二区三区在线| 欧美精品v日韩精品v韩国精品v| 久久综合一区二区| 香蕉成人啪国产精品视频综合网| 大胆亚洲人体视频| 日韩一区二区在线观看视频播放| 欧美激情在线观看视频免费| 午夜精品一区二区三区三上悠亚| 丰满岳乱妇一区二区三区| 欧美日韩国产一二三| 国产精品久久毛片av大全日韩| 日韩高清中文字幕一区| 色综合天天综合网天天看片| 久久久久国色av免费看影院| 日本不卡的三区四区五区| 欧美亚洲尤物久久| 亚洲三级在线播放| 丁香网亚洲国际| 久久久青草青青国产亚洲免观| 日韩电影免费在线| 欧美嫩在线观看| 一区二区三区影院| 91美女蜜桃在线| 亚洲视频小说图片| 从欧美一区二区三区| 国产亚洲综合在线| 国产精品一级片| 国产拍欧美日韩视频二区| 狠狠狠色丁香婷婷综合激情 | 日韩电影在线看| 欧美日本一道本在线视频| 伊人夜夜躁av伊人久久| 99re6这里只有精品视频在线观看| 国产网站一区二区| proumb性欧美在线观看| 亚洲欧洲日韩综合一区二区| 99re亚洲国产精品| 一区二区三区在线高清| 欧美性大战xxxxx久久久| 午夜欧美视频在线观看| 7777精品伊人久久久大香线蕉完整版| 亚洲电影你懂得| 91精品国产色综合久久不卡电影 | 亚洲欧美日本在线| 91视频精品在这里| 亚洲妇女屁股眼交7| 欧美高清你懂得| 国产资源在线一区| 中文字幕一区不卡| 欧美日韩黄色一区二区| 麻豆精品一区二区三区| 欧美国产在线观看| 欧美色网站导航| 精品一区二区三区的国产在线播放| 欧美电影精品一区二区| 国产精品一区二区免费不卡 | 美国十次综合导航| 久久精品欧美一区二区三区麻豆| 99久久精品国产麻豆演员表| 亚洲不卡在线观看| 久久综合给合久久狠狠狠97色69| 高清成人在线观看| 亚洲一区二区中文在线| 日韩视频在线永久播放| 91香蕉视频黄| 蜜臂av日日欢夜夜爽一区| 久久精品视频一区二区三区| 欧美性色黄大片手机版| 老司机免费视频一区二区| 国产精品国产三级国产| 欧美电视剧在线观看完整版| 99久久免费视频.com| 日韩和欧美的一区| 成人免费一区二区三区视频| 在线播放视频一区| 99精品视频在线播放观看| 久久精品国产一区二区三区免费看 | 国产精品资源网站| 亚洲成人av一区二区三区| 久久精品夜色噜噜亚洲a∨| 欧美精品v国产精品v日韩精品| 成人丝袜视频网| 国产在线精品国自产拍免费| 亚洲不卡一区二区三区| 国产精品不卡在线| 精品国产成人在线影院| 欧美日韩国产123区| 成年人国产精品| 国产精品一区二区久久不卡| 午夜天堂影视香蕉久久| 中文字幕在线不卡国产视频| 久久久精品中文字幕麻豆发布| 欧美高清精品3d| 精品视频1区2区| 色婷婷综合在线| 成人免费看的视频| 国产精品69久久久久水密桃| 久久精品噜噜噜成人av农村| 午夜电影网亚洲视频| 亚洲精品va在线观看| 亚洲欧美日韩国产一区二区三区| 日本一区二区三区国色天香| 26uuu久久天堂性欧美| 日韩一级片在线观看| 欧美精品777| 91精品国产91综合久久蜜臀| 欧美精品1区2区| 日韩欧美一二三| 精品电影一区二区三区|