मुख्य विषयवस्तु में जाएं डॉक्स नेविगेशन पर जाएं
in English

ऑफकैनवास

कुछ कक्षाओं और हमारे जावास्क्रिप्ट प्लगइन के साथ नेविगेशन, शॉपिंग कार्ट और बहुत कुछ के लिए अपने प्रोजेक्ट में छिपे हुए साइडबार बनाएं।

यह काम किस प्रकार करता है

ऑफकैनवास एक साइडबार घटक है जिसे व्यूपोर्ट के बाएं, दाएं या निचले किनारे से प्रदर्शित होने के लिए जावास्क्रिप्ट के माध्यम से टॉगल किया जा सकता है। बटन या एंकर का उपयोग ट्रिगर के रूप में किया जाता है जो आपके द्वारा टॉगल किए जाने वाले विशिष्ट तत्वों से जुड़े होते हैं, और dataविशेषताओं का उपयोग हमारी जावास्क्रिप्ट को लागू करने के लिए किया जाता है।

  • ऑफकैनवास कुछ समान जावास्क्रिप्ट कोड को मोडल के रूप में साझा करता है। वैचारिक रूप से, वे काफी समान हैं, लेकिन वे अलग प्लगइन्स हैं।
  • इसी तरह, ऑफकैनवास की शैलियों और आयामों के लिए कुछ स्रोत सैस चर मोडल के चर से विरासत में मिले हैं।
  • दिखाए जाने पर, ऑफ़कैनवास में एक डिफ़ॉल्ट बैकड्रॉप शामिल होता है जिसे ऑफ़कैनवास को छिपाने के लिए क्लिक किया जा सकता है।
  • मोडल के समान, एक समय में केवल एक ऑफकैनवास दिखाया जा सकता है।

सचेत! यह देखते हुए कि CSS एनिमेशन को कैसे संभालता है, आप marginया translateकिसी .offcanvasतत्व का उपयोग नहीं कर सकते। इसके बजाय, कक्षा को एक स्वतंत्र रैपिंग तत्व के रूप में उपयोग करें।

इस घटक का एनीमेशन प्रभाव prefers-reduced-motionमीडिया क्वेरी पर निर्भर है। हमारे एक्सेसिबिलिटी डॉक्यूमेंटेशन का रिड्यूस्ड मोशन सेक्शन देखें ।

उदाहरण

ऑफकैनवास घटक

नीचे एक ऑफकैनवास उदाहरण दिया गया है जो डिफ़ॉल्ट रूप से ( .showon के माध्यम से .offcanvas) दिखाया गया है। ऑफकैनवास में क्लोज बटन वाले हेडर के लिए सपोर्ट और कुछ शुरुआती के लिए वैकल्पिक बॉडी क्लास शामिल है padding। हमारा सुझाव है कि आप जब भी संभव हो, खारिज करने की कार्रवाइयों के साथ ऑफकैनवास हेडर शामिल करें, या एक स्पष्ट खारिज करने की कार्रवाई प्रदान करें।

ऑफकैनवास
ऑफकैनवास के लिए सामग्री यहां जाती है। आप यहां लगभग किसी भी बूटस्ट्रैप घटक या कस्टम तत्वों को रख सकते हैं।
<div class="offcanvas offcanvas-start" 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 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>

लाइव डेमो

जावास्क्रिप्ट के माध्यम से एक ऑफकैनवास तत्व को दिखाने और छिपाने के लिए नीचे दिए गए बटनों का उपयोग करें जो .showकक्षा के साथ एक तत्व पर वर्ग को टॉगल करता है .offcanvas

  • .offcanvasसामग्री छुपाता है (डिफ़ॉल्ट)
  • .offcanvas.showसामग्री दिखाता है

आप विशेषता वाले लिंक hrefया विशेषता वाले बटन का उपयोग कर सकते हैं data-bs-target। दोनों ही मामलों में, की data-bs-toggle="offcanvas"आवश्यकता है।

href . के साथ लिंक करें
ऑफकैनवास
प्लेसहोल्डर के रूप में कुछ पाठ। वास्तविक जीवन में आपके पास वे तत्व हो सकते हैं जिन्हें आपने चुना है। जैसे, पाठ, चित्र, सूचियाँ, आदि।
<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-startऑफकैनवास को व्यूपोर्ट के बाईं ओर रखता है (ऊपर दिखाया गया है)
  • .offcanvas-endऑफकैनवास को व्यूपोर्ट के दाईं ओर रखता है
  • .offcanvas-topऑफकैनवास को व्यूपोर्ट के शीर्ष पर रखता है
  • .offcanvas-bottomऑफकैनवास को व्यूपोर्ट के तल पर रखता है

नीचे दिए गए ऊपर, दाएं और नीचे के उदाहरणों को आज़माएं।

ऑफकैनवास टॉप
...
<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 id="offcanvasTopLabel">Offcanvas top</h5>
    <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    ...
  </div>
</div>
ऑफकैनवास राइट
...
<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>
ऑफकैनवास नीचे
...
<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>

पृष्ठभूमि

<body>जब कैनवास और उसकी पृष्ठभूमि दिखाई देती है , तो तत्व को स्क्रॉल करना अक्षम हो जाता है। स्क्रॉलिंग को टॉगल करने और बैकड्रॉप को टॉगल करने के लिए data-bs-scrollविशेषता का उपयोग करें ।<body>data-bs-backdrop

स्क्रॉलिंग के साथ रंगीन

इस विकल्प को क्रिया में देखने के लिए शेष पृष्ठ को स्क्रॉल करने का प्रयास करें।

पृष्ठभूमि के साथ ऑफकैनवास

.....

स्क्रॉलिंग के साथ बैकड्रॉप्ड

इस विकल्प को क्रिया में देखने के लिए शेष पृष्ठ को स्क्रॉल करने का प्रयास करें।

<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>

सरल उपयोग

चूंकि ऑफकैनवास पैनल अवधारणात्मक रूप से एक मोडल डायलॉग है, aria-labelledby="..."इसलिए ऑफकैनवास शीर्षक- को जोड़ना सुनिश्चित करें .offcanvas। ध्यान दें कि आपको जोड़ने की आवश्यकता नहीं है role="dialog"क्योंकि हम इसे पहले ही जावास्क्रिप्ट के माध्यम से जोड़ चुके हैं।

सास

चर

$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सामग्री छुपाता है
  • .offcanvas.showसामग्री दिखाता है
  • .offcanvas-startऑफ़कैनवास को बाईं ओर छुपाता है
  • .offcanvas-endऑफ़कैनवास को दाईं ओर छुपाता है
  • .offcanvas-bottomकैनवास को तल पर छुपाता है

विशेषता के साथ खारिज करें बटन जोड़ें data-bs-dismiss="offcanvas", जो JavaScript कार्यक्षमता को ट्रिगर करता है। <button>सभी उपकरणों पर उचित व्यवहार के लिए इसके साथ तत्व का उपयोग करना सुनिश्चित करें ।

डेटा विशेषताओं के माध्यम से

एक ऑफकैनवास तत्व के नियंत्रण को स्वचालित रूप से असाइन करने के लिए तत्व में जोड़ें data-bs-toggle="offcanvas"और a data-bs-targetया जोड़ें। ऑफकैनवास को लागू करने के लिए विशेषता एक सीएसएस चयनकर्ता को स्वीकार करती है href। कक्षा को ऑफकैनवास तत्व में data-bs-targetजोड़ना सुनिश्चित करें । offcanvasयदि आप इसे डिफ़ॉल्ट रूप से खोलना चाहते हैं, तो अतिरिक्त वर्ग जोड़ें show

जावास्क्रिप्ट के माध्यम से

इसके साथ मैन्युअल रूप से सक्षम करें:

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

विकल्प

विकल्प डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से पारित किए जा सकते हैं। डेटा विशेषताओं के लिए, विकल्प नाम को में जोड़ें data-bs-, जैसा कि में है data-bs-backdrop=""

नाम टाइप चूक विवरण
backdrop बूलियन true ऑफकैनवास खुला होने पर शरीर पर पृष्ठभूमि लागू करें
keyboard बूलियन true एस्केप कुंजी दबाए जाने पर ऑफकैनवास बंद कर देता है
scroll बूलियन false ऑफकैनवास खुला होने पर बॉडी स्क्रॉलिंग की अनुमति दें

तरीकों

अतुल्यकालिक तरीके और संक्रमण

सभी एपीआई विधियाँ अतुल्यकालिक हैं और एक संक्रमण शुरू करती हैं । ट्रांज़िशन शुरू होते ही वे कॉलर के पास वापस आ जाते हैं लेकिन उसके समाप्त होने से पहलेइसके अलावा, एक संक्रमण घटक पर एक विधि कॉल को नजरअंदाज कर दिया जाएगा ।

अधिक जानकारी के लिए हमारे जावास्क्रिप्ट दस्तावेज़ देखें

आपकी सामग्री को एक ऑफकैनवास तत्व के रूप में सक्रिय करता है। एक वैकल्पिक विकल्प स्वीकार करता है object

आप कंस्ट्रक्टर के साथ एक ऑफकैनवास इंस्टेंस बना सकते हैं, उदाहरण के लिए:

var myOffcanvas = document.getElementById('myOffcanvas')
var bsOffcanvas = new bootstrap.Offcanvas(myOffcanvas)
तरीका विवरण
toggle किसी कैनवास तत्व को दिखाने या छिपाने के लिए टॉगल करता है. ऑफकैनवास तत्व को वास्तव में दिखाया या छिपाया गया है (यानी shown.bs.offcanvasया hidden.bs.offcanvasघटना होने से पहले) कॉलर पर वापस आ जाता है।
show एक ऑफकैनवास तत्व दिखाता है। ऑफकैनवास तत्व वास्तव में दिखाए जाने से पहले कॉलर को लौटाता है (यानी shown.bs.offcanvasघटना होने से पहले)।
hide एक ऑफकैनवास तत्व छुपाता है। ऑफकैनवास तत्व वास्तव में छुपा हुआ है (यानी hidden.bs.offcanvasघटना होने से पहले) कॉलर पर वापस आ जाता है।
getInstance स्टेटिक विधि जो आपको DOM तत्व से जुड़े ऑफकैनवास इंस्टेंस प्राप्त करने की अनुमति देती है
getOrCreateInstance स्टेटिक विधि जो आपको DOM तत्व से जुड़े ऑफकैनवास इंस्टेंस प्राप्त करने की अनुमति देती है, या इसे प्रारंभ नहीं किए जाने की स्थिति में एक नया बनाने की अनुमति देती है

आयोजन

बूटस्ट्रैप का ऑफकैनवास वर्ग ऑफकैनवास कार्यक्षमता में शामिल होने के लिए कुछ घटनाओं को उजागर करता है।

घटना प्रकार विवरण
show.bs.offcanvas showइंस्टेंस विधि को कॉल करने पर यह घटना तुरंत सक्रिय हो जाती है।
shown.bs.offcanvas यह घटना तब सक्रिय होती है जब एक ऑफकैनवास तत्व उपयोगकर्ता को दिखाई देता है (सीएसएस संक्रमणों के पूरा होने की प्रतीक्षा करेगा)।
hide.bs.offcanvas इस घटना को तुरंत निकाल दिया जाता है जब hideविधि को बुलाया जाता है।
hidden.bs.offcanvas यह घटना तब सक्रिय होती है जब उपयोगकर्ता से एक ऑफकैनवास तत्व छुपाया जाता है (सीएसएस संक्रमण पूरा होने की प्रतीक्षा करेगा)।
var myOffcanvas = document.getElementById('myOffcanvas')
myOffcanvas.addEventListener('hidden.bs.offcanvas', function () {
  // do something...
})