ମୁଖ୍ୟ ବିଷୟବସ୍ତୁକୁ ଯାଆନ୍ତୁ | ଡକସ୍ ନେଭିଗେସନ୍ କୁ ଯାଆନ୍ତୁ |
Check
in English

ଅଫକାନଭାସ୍ |

ନାଭିଗେସନ୍, ସପିଂ କାର୍ଟ, ଏବଂ କିଛି କ୍ଲାସ୍ ଏବଂ ଆମର ଜାଭାସ୍କ୍ରିପ୍ଟ ପ୍ଲଗଇନ୍ ସହିତ ଆପଣଙ୍କ ପ୍ରୋଜେକ୍ଟରେ ଲୁକ୍କାୟିତ ପାର୍ଶ୍ୱ ଦଣ୍ଡିକା ନିର୍ମାଣ କରନ୍ତୁ |

ଏହା କିପରି କାମ କରେ |

ଅଫକାନଭାସ୍ ହେଉଛି ଏକ ପାର୍ଶ୍ୱ ଦଣ୍ଡିକା ଉପାଦାନ ଯାହା ଭ୍ୟୁପୋର୍ଟର ବାମ, ଡାହାଣ, ଉପର, କିମ୍ବା ତଳ ଧାରରୁ ଦେଖାଯିବା ପାଇଁ ଜାଭାସ୍କ୍ରିପ୍ଟ ମାଧ୍ୟମରେ ଟୋଗଲ୍ ହୋଇପାରିବ | ବଟନ୍ କିମ୍ବା ଆଙ୍କର୍ ଟ୍ରିଗର ଭାବରେ ବ୍ୟବହୃତ ହୁଏ ଯାହାକି ତୁମେ ଟୋଗଲ୍ କରୁଥିବା ନିର୍ଦ୍ଦିଷ୍ଟ ଉପାଦାନ ସହିତ ସଂଯୁକ୍ତ, ଏବଂ dataଆମର ଜାଭାସ୍କ୍ରିପ୍ଟକୁ ଡାକିବା ପାଇଁ ଗୁଣଗୁଡ଼ିକ ବ୍ୟବହୃତ ହୁଏ |

  • ଅଫକାନଭାସ୍ ମୋଡାଲ୍ ପରି ସମାନ ଜାଭାସ୍କ୍ରିପ୍ଟ କୋଡ୍ ଅଂଶୀଦାର କରେ | ଧାରଣା ଅନୁଯାୟୀ, ସେଗୁଡ଼ିକ ସମ୍ପୂର୍ଣ୍ଣ ସମାନ, କିନ୍ତୁ ସେଗୁଡ଼ିକ ଅଲଗା ପ୍ଲଗଇନ୍ |
  • ସେହିଭଳି, ଅଫକାନଭାସ୍ ର ଶ yles ଳୀ ଏବଂ ପରିମାପ ପାଇଁ କିଛି ଉତ୍ସ ସାସ୍ ଭେରିଏବଲ୍ ମୋଡାଲ୍ ଭେରିଏବଲ୍ ରୁ ଉତ୍ତରାଧିକାରୀ |
  • ଯେତେବେଳେ ଦେଖାଯାଏ, ଅଫକାନଭାସ୍ ଏକ ଡିଫଲ୍ଟ ବ୍ୟାକଡ୍ରପ୍ ଅନ୍ତର୍ଭୂକ୍ତ କରେ ଯାହା ଅଫକାନଭାସ୍ ଲୁଚାଇବା ପାଇଁ କ୍ଲିକ୍ କରାଯାଇପାରିବ |
  • ମୋଡାଲ ପରି, ଗୋଟିଏ ଥରରେ କେବଳ ଗୋଟିଏ ଅଫକାନଭା ଦେଖାଯାଇପାରିବ |

ମୁଣ୍ଡ ଉପରକୁ! CSS କିପରି ଆନିମେସନ୍ ନିୟନ୍ତ୍ରଣ କରେ, ଆପଣ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ marginକିମ୍ବା translateଏକ .offcanvasଉପାଦାନରେ | ଏହା ପରିବର୍ତ୍ତେ, ଶ୍ରେଣୀକୁ ଏକ ସ୍ independent ାଧୀନ ରାପିଙ୍ଗ୍ ଉପାଦାନ ଭାବରେ ବ୍ୟବହାର କରନ୍ତୁ |

ଏହି ଉପାଦାନର ଆନିମେସନ୍ ପ୍ରଭାବ prefers-reduced-motionମିଡିଆ ଜିଜ୍ଞାସା ଉପରେ ନିର୍ଭରଶୀଳ | ଆମର ଆକ୍ସେସିବିଲିଟି ଡକ୍ୟୁମେଣ୍ଟେସନ୍ ର ହ୍ରାସ ହୋଇଥିବା ଗତି ବିଭାଗ ଦେଖନ୍ତୁ |

ଉଦାହରଣଗୁଡିକ

ଅଫକାନଭାସ୍ ଉପାଦାନଗୁଡ଼ିକ |

ନିମ୍ନରେ ଏକ ଅଫକାନଭାସ୍ ଉଦାହରଣ ଅଛି ଯାହା ଡିଫଲ୍ଟ ଭାବରେ ଦେଖାଯାଏ ( .showଅନ ମାଧ୍ୟମରେ .offcanvas) | ଅଫକାନଭାସ୍ ଏକ କ୍ଲୋଜ୍ ବଟନ୍ ସହିତ ଏକ ହେଡର୍ ପାଇଁ ସମର୍ଥନ ଏବଂ କିଛି ପ୍ରାରମ୍ଭିକ ପାଇଁ ଏକ ବ body କଳ୍ପିକ ଶରୀର ଶ୍ରେଣୀ ଅନ୍ତର୍ଭୁକ୍ତ କରେ padding| ଆମେ ପରାମର୍ଶ ଦେଉଛୁ ଯେ ଆପଣ ଯେତେବେଳେ ବି ସମ୍ଭବ ବହିଷ୍କାର କାର୍ଯ୍ୟ ସହିତ ଅଫକାନଭାସ୍ ହେଡର୍ ଅନ୍ତର୍ଭୂକ୍ତ କରନ୍ତୁ, କିମ୍ବା ଏକ ସ୍ପଷ୍ଟ ବହିଷ୍କାର କାର୍ଯ୍ୟ ପ୍ରଦାନ କରନ୍ତୁ |

ଅଫକାନଭାସ୍ |
ଅଫକାନଭାସ୍ ପାଇଁ ବିଷୟବସ୍ତୁ ଏଠାକୁ ଯାଏ | ଆପଣ ଏଠାରେ ଯେକ any ଣସି ବୁଟଷ୍ଟ୍ରାପ୍ ଉପାଦାନ କିମ୍ବା କଷ୍ଟମ୍ ଉପାଦାନଗୁଡିକ ରଖିପାରିବେ |
html
<div class="offcanvas offcanvas-start show" tabindex="-1" id="offcanvas" aria-labelledby="offcanvasLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasLabel">Offcanvas</h5>
    <button type="button" class="btn-close" 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>

ଲାଇଭ୍ ଡେମୋ |

ଜାଭାସ୍କ୍ରିପ୍ଟ ମାଧ୍ୟମରେ ଏକ ଅଫକାନଭାସ୍ ଉପାଦାନ ଦେଖାଇବା ଏବଂ ଲୁଚାଇବା ପାଇଁ ନିମ୍ନରେ ଥିବା ବଟନ୍ଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ ଯାହା .showଶ୍ରେଣୀ ସହିତ ଏକ ଉପାଦାନରେ ଶ୍ରେଣୀକୁ ଟୋଗଲ୍ କରେ .offcanvas|

  • .offcanvasବିଷୟବସ୍ତୁ ଲୁଚାଏ (ଡିଫଲ୍ଟ)
  • .offcanvas.showବିଷୟବସ୍ତୁ ଦେଖାଏ |

ଆପଣ ଆଟ୍ରିବ୍ୟୁଟ୍ ସହିତ ଏକ ଲିଙ୍କ୍ href, କିମ୍ବା ଆଟ୍ରିବ୍ୟୁଟ୍ ସହିତ ଏକ ବଟନ୍ ବ୍ୟବହାର କରିପାରିବେ data-bs-target| ଉଭୟ କ୍ଷେତ୍ରରେ, data-bs-toggle="offcanvas"ଆବଶ୍ୟକ |

Href ସହିତ ଲିଙ୍କ୍ |
ଅଫକାନଭାସ୍ |
କିଛି ପାଠ୍ୟ ସ୍ଥାନଧାରୀ ଭାବରେ | ବାସ୍ତବ ଜୀବନରେ ତୁମେ ବାଛିଥିବା ଉପାଦାନଗୁଡିକ ପାଇପାରିବ | ଯେପରି, ପାଠ, ପ୍ରତିଛବି, ତାଲିକା ଇତ୍ୟାଦି |
html
<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" 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" data-bs-toggle="dropdown">
        Dropdown button
      </button>
      <ul class="dropdown-menu">
        <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>

ଶରୀର ସ୍କ୍ରୋଲିଂ |

<body>ଏକ ଅଫକାନଭାସ୍ ଏବଂ ଏହାର ପୃଷ୍ଠଭୂମି ଦୃଶ୍ୟମାନ ହେଲେ ଉପାଦାନ ସ୍କ୍ରୋଲ୍ ଅକ୍ଷମ ହୋଇଥାଏ | ସ୍କ୍ରୋଲିଂ data-bs-scrollସକ୍ଷମ କରିବାକୁ ଆଟ୍ରିବ୍ୟୁଟ୍ ବ୍ୟବହାର କରନ୍ତୁ |<body>

ଶରୀର ସ୍କ୍ରୋଲିଂ ସହିତ ଅଫକାନଭାସ୍ |

ଏହି ବିକଳ୍ପକୁ କାର୍ଯ୍ୟରେ ଦେଖିବା ପାଇଁ ବାକି ପୃଷ୍ଠାକୁ ସ୍କ୍ରୋଲ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ |

html
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Enable body scrolling</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">Offcanvas with body scrolling</h5>
    <button type="button" class="btn-close" 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>

ଶରୀର ସ୍କ୍ରୋଲିଂ ଏବଂ ପୃଷ୍ଠଭୂମି |

ଏକ ଦୃଶ୍ୟମାନ ପୃଷ୍ଠଭୂମି ସହିତ ଆପଣ <body>ସ୍କ୍ରୋଲିଂକୁ ମଧ୍ୟ ସକ୍ଷମ କରିପାରିବେ |

ସ୍କ୍ରୋଲିଂ ସହିତ ପୃଷ୍ଠଭୂମି |

ଏହି ବିକଳ୍ପକୁ କାର୍ଯ୍ୟରେ ଦେଖିବା ପାଇଁ ବାକି ପୃଷ୍ଠାକୁ ସ୍କ୍ରୋଲ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ |

html
<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" tabindex="-1" id="offcanvasWithBothOptions" aria-labelledby="offcanvasWithBothOptionsLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Backdrop with scrolling</h5>
    <button type="button" class="btn-close" 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>

ଷ୍ଟାଟିକ୍ ପୃଷ୍ଠଭୂମି |

ଯେତେବେଳେ ବ୍ୟାକଡ୍ରପ୍ ସ୍ଥିର ହୋଇଯାଏ, ଏହାର ବାହାରେ କ୍ଲିକ୍ କରିବା ସମୟରେ ଅଫକାନଭାସ୍ ବନ୍ଦ ହେବ ନାହିଁ |

ଅଫକାନଭାସ୍ |
ଯଦି ତୁମେ ମୋ ବାହାରେ କ୍ଲିକ୍ କର ମୁଁ ବନ୍ଦ କରିବି ନାହିଁ |
html
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#staticBackdrop" aria-controls="staticBackdrop">
  Toggle static offcanvas
</button>

<div class="offcanvas offcanvas-start" data-bs-backdrop="static" tabindex="-1" id="staticBackdrop" aria-labelledby="staticBackdropLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="staticBackdropLabel">Offcanvas</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    <div>
      I will not close if you click outside of me.
    </div>
  </div>
</div>

ଗା ark ଅଫକାନଭାସ୍ |

V5.2.0 ରେ ଯୋଡା ଯାଇଛି |

Change the appearance of offcanvases with utilities to better match them to different contexts like dark navbars. Here we add .text-bg-dark to the .offcanvas and .btn-close-white to .btn-close for proper styling with a dark offcanvas. If you have dropdowns within, consider also adding .dropdown-menu-dark to .dropdown-menu.

Offcanvas

Place offcanvas content here.

html
<div class="offcanvas offcanvas-start show text-bg-dark" tabindex="-1" id="offcanvasDark" aria-labelledby="offcanvasDarkLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasDarkLabel">Offcanvas</h5>
    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvasDark" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    <p>Place offcanvas content here.</p>
  </div>
</div>

Responsive

Added in v5.2.0

Responsive offcanvas classes hide content outside the viewport from a specified breakpoint and down. Above that breakpoint, the contents within will behave as usual. For example, .offcanvas-lg hides content in an offcanvas below the lg breakpoint, but shows the content above the lg breakpoint.

Resize your browser to show the responsive offcanvas toggle.
Responsive offcanvas

This is content within an .offcanvas-lg.

html
<button class="btn btn-primary d-lg-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasResponsive" aria-controls="offcanvasResponsive">Toggle offcanvas</button>

<div class="alert alert-info d-none d-lg-block">Resize your browser to show the responsive offcanvas toggle.</div>

<div class="offcanvas-lg offcanvas-end" tabindex="-1" id="offcanvasResponsive" aria-labelledby="offcanvasResponsiveLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasResponsiveLabel">Responsive offcanvas</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#offcanvasResponsive" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    <p class="mb-0">This is content within an <code>.offcanvas-lg</code>.</p>
  </div>
</div>

ପ୍ରତ୍ୟେକ ବ୍ରେକପଏଣ୍ଟ ପାଇଁ ପ୍ରତିକ୍ରିୟାଶୀଳ ଅଫକାନଭାସ୍ କ୍ଲାସ୍ ଉପଲବ୍ଧ |

  • .offcanvas
  • .offcanvas-sm
  • .offcanvas-md
  • .offcanvas-lg
  • .offcanvas-xl
  • .offcanvas-xxl

ସ୍ଥାନ

ଅଫକାନଭାସ୍ ଉପାଦାନଗୁଡ଼ିକ ପାଇଁ କ default ଣସି ଡିଫଲ୍ଟ ପ୍ଲେସମେଣ୍ଟ୍ ନାହିଁ, ତେଣୁ ଆପଣଙ୍କୁ ନିମ୍ନରେ ଏକ ମୋଡିଫାୟର୍ କ୍ଲାସ୍ ମଧ୍ୟରୁ ଗୋଟିଏ ଯୋଡିବାକୁ ପଡିବ |

  • .offcanvas-startଭ୍ୟୁପୋର୍ଟର ବାମ ପାର୍ଶ୍ୱରେ ଅଫକାନଭାସ୍ ରଖେ (ଉପରେ ଦେଖାଯାଇଛି)
  • .offcanvas-endଭ୍ୟୁପୋର୍ଟର ଡାହାଣ ପାର୍ଶ୍ୱରେ ଅଫକାନଭାସ୍ ରଖେ |
  • .offcanvas-topଭ୍ୟୁପୋର୍ଟର ଉପରେ ଅଫକାନଭାସ୍ ରଖେ |
  • .offcanvas-bottomଭ୍ୟୁପୋର୍ଟର ତଳେ ଅଫକାନଭାସ୍ ରଖେ |

ନିମ୍ନରେ ଉପର, ଡାହାଣ ଏବଂ ନିମ୍ନ ଉଦାହରଣଗୁଡିକ ଚେଷ୍ଟା କରନ୍ତୁ |

ଅଫକାନଭାସ୍ ଟପ୍ |
...
html
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasTop" aria-controls="offcanvasTop">Toggle top offcanvas</button>

<div class="offcanvas offcanvas-top" tabindex="-1" id="offcanvasTop" aria-labelledby="offcanvasTopLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasTopLabel">Offcanvas top</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    ...
  </div>
</div>
ଅଫକାନଭାସ୍ ଠିକ୍ |
...
html
<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 class="offcanvas-title" id="offcanvasRightLabel">Offcanvas right</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    ...
  </div>
</div>
ଅଫକାନଭାସ୍ ତଳ |
...
html
<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" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body small">
    ...
  </div>
</div>

ଅଭିଗମ୍ୟତା

aria-labelledby="..."ଯେହେତୁ ଅଫକାନଭାସ୍ ପ୍ୟାନେଲ୍ ଧାରଣାଗତ ଭାବରେ ଏକ ମୋଡାଲ୍ ସଂଳାପ, ତେଣୁ ଅଫକାନଭାସ୍ ଟାଇଟଲ୍ ରେଫରେନ୍ସ କରିବାକୁ ଯୋଡିବାକୁ ନିଶ୍ଚିତ ହୁଅନ୍ତୁ .offcanvas| ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ ଆପଣ ଏହାକୁ ଯୋଡିବା ଆବଶ୍ୟକ କରନ୍ତି ନାହିଁ role="dialog"ଯେହେତୁ ଆମେ ଏହାକୁ ଜାଭାସ୍କ୍ରିପ୍ଟ ମାଧ୍ୟମରେ ଯୋଡିଥାଉ |

CSS

ଭେରିଏବଲ୍ |

V5.2.0 ରେ ଯୋଡା ଯାଇଛି |

As part of Bootstrap’s evolving CSS variables approach, offcanvas now uses local CSS variables on .offcanvas for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.

  --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};
  --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};
  --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};
  --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};
  --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};
  --#{$prefix}offcanvas-color: #{$offcanvas-color};
  --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};
  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};
  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};
  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};
  

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-box-shadow:              $modal-content-box-shadow-xs;
$offcanvas-backdrop-bg:             $modal-backdrop-bg;
$offcanvas-backdrop-opacity:        $modal-backdrop-opacity;

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-top hides the offcanvas on the top
  • .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

Toggle

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.

Dismiss

Dismissal can be achieved with the data attribute on a button within the offcanvas as demonstrated below:

<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>

or on a button outside the offcanvas using the data-bs-target as demonstrated below:

<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#my-offcanvas" aria-label="Close"></button>
While both ways to dismiss an offcanvas are supported, keep in mind that dismissing from outside an offcanvas does not match the ARIA Authoring Practices Guide dialog (modal) pattern. Do this at your own risk.

Via JavaScript

Enable manually with:

const offcanvasElementList = document.querySelectorAll('.offcanvas')
const offcanvasList = [...offcanvasElementList].map(offcanvasEl => new bootstrap.Offcanvas(offcanvasEl))

Options

As options can be passed via data attributes or JavaScript, you can append an option name to data-bs-, as in data-bs-animation="{value}". Make sure to change the case type of the option name from “camelCase” to “kebab-case” when passing the options via data attributes. For example, use data-bs-custom-class="beautifier" instead of data-bs-customClass="beautifier".

As of Bootstrap 5.2.0, all components support an experimental reserved data attribute data-bs-config that can house simple component configuration as a JSON string. When an element has data-bs-config='{"delay":0, "title":123}' and data-bs-title="456" attributes, the final title value will be 456 and the separate data attributes will override values given on data-bs-config. In addition, existing data attributes are able to house JSON values like data-bs-delay='{"show":0,"hide":150}'.

Name Type Default Description
backdrop boolean or the string static true Apply a backdrop on body while offcanvas is open. Alternatively, specify static for a backdrop which doesn’t close the offcanvas when clicked.
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:

const bsOffcanvas = new bootstrap.Offcanvas('#myOffcanvas')
Method Description
getInstance Static method which allows you to get the offcanvas instance associated with a DOM element.
getOrCreateInstance Static method which allows you to get the offcanvas instance associated with a DOM element, or create a new one in case it wasn’t initialized.
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).
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).
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).

Events

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

Event type Description
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).
hidePrevented.bs.offcanvas This event is fired when the offcanvas is shown, its backdrop is static and a click outside of the offcanvas is performed. The event is also fired when the escape key is pressed and the keyboard option is set to false.
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).
const myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', event => {
  // do something...
})