नीचे की ओर फैलने वाला बिंदु
बूटस्ट्रैप ड्रॉपडाउन प्लगइन के साथ लिंक और अधिक की सूची प्रदर्शित करने के लिए प्रासंगिक ओवरले टॉगल करें।
अवलोकन
ड्रॉपडाउन टॉगल करने योग्य हैं, लिंक की सूची प्रदर्शित करने के लिए प्रासंगिक ओवरले और बहुत कुछ। उन्हें शामिल बूटस्ट्रैप ड्रॉपडाउन जावास्क्रिप्ट प्लगइन के साथ इंटरैक्टिव बनाया गया है। उन्हें क्लिक करके टॉगल किया जाता है, होवर करके नहीं; यह एक जानबूझकर डिजाइन निर्णय है ।
ड्रॉपडाउन तीसरे पक्ष के पुस्तकालय, पॉपर पर बनाए गए हैं , जो गतिशील स्थिति और व्यूपोर्ट पहचान प्रदान करता है। बूटस्ट्रैप के जावास्क्रिप्ट से पहले popper.min.js को शामिल करना सुनिश्चित करें या bootstrap.bundle.min.js
/ का उपयोग करें bootstrap.bundle.js
जिसमें पॉपर शामिल है। पॉपर का उपयोग नेवबार में ड्रॉपडाउन की स्थिति के लिए नहीं किया जाता है, हालांकि गतिशील स्थिति की आवश्यकता नहीं होती है।
सरल उपयोग
WAI ARIA मानक एक वास्तविक role="menu"
विजेट को परिभाषित करता है, लेकिन यह एप्लिकेशन-जैसे मेनू के लिए विशिष्ट है जो क्रियाओं या कार्यों को ट्रिगर करता है। ARIA मेनू में केवल मेनू आइटम, चेकबॉक्स मेनू आइटम, रेडियो बटन मेनू आइटम, रेडियो बटन समूह और उप-मेनू हो सकते हैं।
दूसरी ओर, बूटस्ट्रैप के ड्रॉपडाउन सामान्य होने के लिए डिज़ाइन किए गए हैं और विभिन्न स्थितियों और मार्कअप संरचनाओं पर लागू होते हैं। उदाहरण के लिए, ड्रॉपडाउन बनाना संभव है जिसमें अतिरिक्त इनपुट और फॉर्म नियंत्रण हों, जैसे खोज फ़ील्ड या लॉगिन फ़ॉर्म। इस कारण से, बूटस्ट्रैप सच्चे ARIA मेनू के लिए आवश्यक किसी भी role
और विशेषता की अपेक्ष�� नहीं करता (न ही स्वचालित रूप से जोड़ता है)। लेखकों को इन अधिक विशिष्ट विशेषताओं को स्वयं शामिल करना होगा।aria-
हालाँकि, बूटस्ट्रैप अधिकांश मानक कीबोर्ड मेनू इंटरैक्शन के लिए अंतर्निहित समर्थन जोड़ता है, जैसे .dropdown-item
कि कर्सर कुंजियों का उपयोग करके अलग-अलग तत्वों के माध्यम से स्थानांतरित करने और कुंजी के साथ मेनू को बंद करने की क्षमता ESC।
उदाहरण
ड्रॉपडाउन के टॉगल (आपका बटन या लिंक) और ड्रॉपडाउन मेनू को .dropdown
, या घोषित करने वाले किसी अन्य तत्व के भीतर लपेटें position: relative;
। ड्रॉपडाउन को <a>
या <button>
तत्वों से ट्रिगर किया जा सकता है ताकि आपकी संभावित जरूरतों को बेहतर ढंग से पूरा किया जा सके। यहां दिखाए गए उदाहरण सिमेंटिक <ul>
तत्वों का उपयोग करते हैं जहां उपयुक्त हो, लेकिन कस्टम मार्कअप समर्थित है।
सिंगल बटन
.btn
कुछ मार्कअप परिवर्तनों के साथ किसी एकल को ड्रॉपडाउन टॉगल में बदला जा सकता है। यहां बताया गया है कि आप उन्हें किसी भी <button>
तत्व के साथ कैसे काम कर सकते हैं:
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown button
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<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>
और <a>
तत्वों के साथ:
<div class="dropdown">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown link
</a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuLink">
<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>
सबसे अच्छी बात यह है कि आप इसे किसी भी बटन संस्करण के साथ भी कर सकते हैं:
<!-- Example single danger button -->
<div class="btn-group">
<button type="button" class="btn btn-danger dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Action
</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>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
स्प्लिट बटन
इसी तरह, सिंगल बटन ड्रॉपडाउन के समान मार्कअप के साथ स्प्लिट बटन ड्रॉपडाउन बनाएं, लेकिन .dropdown-toggle-split
ड्रॉपडाउन कैरेट के आसपास उचित रिक्ति के अतिरिक्त।
padding
हम कैरेट के दोनों ओर क्षैतिज को 25% तक कम करने के लिए इस अतिरिक्त वर्ग का उपयोग करते हैं और margin-left
नियमित बटन ड्रॉपडाउन के लिए जोड़े गए को हटा देते हैं। वे अतिरिक्त परिवर्तन कैरेट को विभाजित बटन में केंद्रित रखते हैं और मुख्य बटन के बगल में अधिक उचित आकार का हिट क्षेत्र प्रदान करते हैं।
<!-- Example split danger button -->
<div class="btn-group">
<button type="button" class="btn btn-danger">Action</button>
<button type="button" class="btn btn-danger dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</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>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
आकार
बटन ड्रॉपडाउन डिफ़ॉल्ट और स्प्लिट ड्रॉपडाउन बटन सहित सभी आकारों के बटन के साथ काम करते हैं।
<!-- Large button groups (default and split) -->
<div class="btn-group">
<button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Large button
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary btn-lg" type="button">
Large split button
</button>
<button type="button" class="btn btn-lg btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Small button
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary btn-sm" type="button">
Small split button
</button>
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
...
</ul>
</div>
डार्क ड्रॉपडाउन
गहरे रंग के नेवबार या कस्टम शैली से मेल खाने के लिए .dropdown-menu-dark
मौजूदा .dropdown-menu
. ड्रॉपडाउन आइटम में किसी बदलाव की आवश्यकता नहीं है।
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton2" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown button
</button>
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="dropdownMenuButton2">
<li><a class="dropdown-item active" 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>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
और इसे एक नेवबार में उपयोग करने के लिए रखना:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDarkDropdown" aria-controls="navbarNavDarkDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDarkDropdown">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
<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>
</li>
</ul>
</div>
</div>
</nav>
दिशा-निर्देश
आरटीएल
आरटीएल में बूटस्ट्रैप का उपयोग करते समय दिशाएं प्रतिबिंबित होती हैं, अर्थ .dropstart
दाईं ओर दिखाई देगा।
ऊपर की ओर जाना
.dropup
मूल तत्व में जोड़कर तत्वों के ऊपर ड्रॉपडाउन मेनू ट्रिगर करें।
<!-- Default dropup button -->
<div class="btn-group dropup">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropup
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
<!-- Split dropup button -->
<div class="btn-group dropup">
<button type="button" class="btn btn-secondary">
Split dropup
</button>
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
ड्रॉपराइट
.dropend
मूल तत्व में जोड़कर तत्वों के दाईं ओर ड्रॉपडाउन मेनू ट्रिगर करें ।
<!-- Default dropend button -->
<div class="btn-group dropend">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropright
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
<!-- Split dropend button -->
<div class="btn-group dropend">
<button type="button" class="btn btn-secondary">
Split dropend
</button>
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropright</span>
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
ड्रॉपलेफ्ट
.dropstart
मूल तत्व में जोड़कर तत्वों के बाईं ओर ड्रॉपडाउन मेनू ट्रिगर करें ।
<!-- Default dropstart button -->
<div class="btn-group dropstart">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropstart
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
<!-- Split dropstart button -->
<div class="btn-group">
<div class="btn-group dropstart" role="group">
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropstart</span>
</button>
<ul class="dropdown-menu">
<!-- Dropdown menu links -->
</ul>
</div>
<button type="button" class="btn btn-secondary">
Split dropstart
</button>
</div>
विकल्प सूची की चीज़ें
आप <a>
या <button>
तत्वों को ड्रॉपडाउन आइटम के रूप में उपयोग कर सकते हैं।
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
<li><button class="dropdown-item" type="button">Action</button></li>
<li><button class="dropdown-item" type="button">Another action</button></li>
<li><button class="dropdown-item" type="button">Something else here</button></li>
</ul>
</div>
आप के साथ गैर-संवादात्मक ड्रॉपडाउन आइटम भी बना सकते हैं .dropdown-item-text
। कस्टम सीएसएस या टेक्स्ट यूटिलिटीज के साथ स्टाइल करने के लिए स्वतंत्र महसूस करें।
<ul class="dropdown-menu">
<li><span class="dropdown-item-text">Dropdown item text</span></li>
<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>
सक्रिय
आइटम को सक्रिय के रूप में स्टाइल करने.active
के लिए ड्रॉपडाउन में जोड़ें । सक्रिय स्थिति को सहायक तकनीकों तक पहुंचाने के लिए, विशेषता का उपयोग करें - वर्तमान पृष्ठ के लिए मान का उपयोग करके, या किसी सेट में वर्तमान आइटम के लिए।aria-current
page
true
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Regular link</a></li>
<li><a class="dropdown-item active" href="#" aria-current="true">Active link</a></li>
<li><a class="dropdown-item" href="#">Another link</a></li>
</ul>
अक्षम
उन्हें अक्षम के रूप में स्टाइल करने.disabled
के लिए ड्रॉपडाउन में आइटम में जोड़ें ।
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Regular link</a></li>
<li><a class="dropdown-item disabled" href="#" tabindex="-1" aria-disabled="true">Disabled link</a></li>
<li><a class="dropdown-item" href="#">Another link</a></li>
</ul>
मेनू संरेखण
डिफ़ॉल्ट रूप से, एक ड्रॉपडाउन मेनू स्वचालित रूप से ऊपर से 100% और उसके पैरेंट के बाईं ओर स्थित होता है। आप इसे दिशात्मक .drop*
वर्गों के साथ बदल सकते हैं, लेकिन आप उन्हें अतिरिक्त संशोधक वर्गों के साथ भी नियंत्रित कर सकते हैं।
ड्रॉपडाउन मेनू को दाईं ओर संरेखित करने के .dropdown-menu-end
लिए जोड़ें । .dropdown-menu
आरटीएल में बूटस्ट्रैप का उपयोग करते समय दिशाएं प्रतिबिंबित होती हैं, अर्थ .dropdown-menu-end
बाईं ओर दिखाई देगा।
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Right-aligned menu example
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><button class="dropdown-item" type="button">Action</button></li>
<li><button class="dropdown-item" type="button">Another action</button></li>
<li><button class="dropdown-item" type="button">Something else here</button></li>
</ul>
</div>
उत्तरदायी संरेखण
यदि आप प्रतिक्रियाशील संरेखण का उपयोग करना चाहते हैं, तो विशेषता जोड़कर गतिशील स्थिति को अक्षम data-bs-display="static"
करें और प्रतिक्रियाशील विविधता वर्गों का उपयोग करें।
ड्रॉपडाउन मेनू को दिए गए ब्रेकपॉइंट या बड़े के साथ दाईं ओर संरेखित करने के लिए, जोड़ें .dropdown-menu{-sm|-md|-lg|-xl|-xxl}-end
।
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
Left-aligned but right aligned when large screen
</button>
<ul class="dropdown-menu dropdown-menu-lg-end">
<li><button class="dropdown-item" type="button">Action</button></li>
<li><button class="dropdown-item" type="button">Another action</button></li>
<li><button class="dropdown-item" type="button">Something else here</button></li>
</ul>
</div>
ड्रॉपडाउन मेनू को दिए गए ब्रेकपॉइंट या बड़े के साथ संरेखित करने के लिए, जोड़ें .dropdown-menu-end
और .dropdown-menu{-sm|-md|-lg|-xl|-xxl}-start
.
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
Right-aligned but left aligned when large screen
</button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-lg-start">
<li><button class="dropdown-item" type="button">Action</button></li>
<li><button class="dropdown-item" type="button">Another action</button></li>
<li><button class="dropdown-item" type="button">Something else here</button></li>
</ul>
</div>
ध्यान दें कि आपको नेवबार में ड्रॉपडाउन बटन में एक विशेषता जोड़ने की आवश्यकता नहीं है data-bs-display="static"
, क्योंकि पॉपर का उपयोग नेवबार में नहीं किया जाता है।
संरेखण विकल्प
ऊपर दिखाए गए अधिकांश विकल्पों को लेते हुए, यहां एक ही स्थान पर विभिन्न ड्रॉपडाउन संरेखण विकल्पों का एक छोटा किचन सिंक डेमो है।
<div class="btn-group">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Right-aligned menu
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
Left-aligned, right-aligned lg
</button>
<ul class="dropdown-menu dropdown-menu-lg-end">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" data-bs-display="static" aria-expanded="false">
Right-aligned, left-aligned lg
</button>
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-lg-start">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group dropstart">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropstart
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group dropend">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropend
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group dropup">
<button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Dropup
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
मेनू सामग्री
हेडर
किसी भी ड्रॉपडाउन मेनू में क्रियाओं के अनुभागों को लेबल करने के लिए एक शीर्षलेख जोड़ें।
<ul class="dropdown-menu">
<li><h6 class="dropdown-header">Dropdown header</h6></li>
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
</ul>
परकार
डिवाइडर के साथ संबंधित मेनू आइटम के अलग समूह।
<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>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
मूलपाठ
टेक्स्ट के साथ ड्रॉपडाउन मेनू में किसी भी फ्रीफॉर्म टेक्स्ट को रखें और स्पेसिंग यूटिलिटीज का उपयोग करें । ध्यान दें कि मेनू की चौड़ाई को सीमित करने के लिए आपको अतिरिक्त आकार शैलियों की आवश्यकता होगी।
<div class="dropdown-menu p-4 text-muted" style="max-width: 200px;">
<p>
Some example text that's free-flowing within the dropdown menu.
</p>
<p class="mb-0">
And this is more example text.
</p>
</div>
फार्म
ड्रॉपडाउन मेनू में एक फॉर्म डालें, या इसे ड्रॉपडाउन मेनू में बनाएं, और मार्जिन या पैडिंग यूटिलिटीज का उपयोग करके इसे आपके लिए आवश्यक नकारात्मक स्थान दें।
<div class="dropdown-menu">
<form class="px-4 py-3">
<div class="mb-3">
<label for="exampleDropdownFormEmail1" class="form-label">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail1" placeholder="[email protected]">
</div>
<div class="mb-3">
<label for="exampleDropdownFormPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword1" placeholder="Password">
</div>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck">
<label class="form-check-label" for="dropdownCheck">
Remember me
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">New around here? Sign up</a>
<a class="dropdown-item" href="#">Forgot password?</a>
</div>
<form class="dropdown-menu p-4">
<div class="mb-3">
<label for="exampleDropdownFormEmail2" class="form-label">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail2" placeholder="[email protected]">
</div>
<div class="mb-3">
<label for="exampleDropdownFormPassword2" class="form-label">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Password">
</div>
<div class="mb-3">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck2">
<label class="form-check-label" for="dropdownCheck2">
Remember me
</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
ड्रॉपडाउन विकल्प
ड्रॉपडाउन के स्थान का उपयोग करें data-bs-offset
या बदलें।data-bs-reference
<div class="d-flex">
<div class="dropdown me-1">
<button type="button" class="btn btn-secondary dropdown-toggle" id="dropdownMenuOffset" data-bs-toggle="dropdown" aria-expanded="false" data-bs-offset="10,20">
Offset
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuOffset">
<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 class="btn-group">
<button type="button" class="btn btn-secondary">Reference</button>
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" id="dropdownMenuReference" data-bs-toggle="dropdown" aria-expanded="false" data-bs-reference="parent">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuReference">
<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>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
</div>
स्वतः बंद व्यवहार
डिफ़ॉल्ट रूप से, ड्रॉपडाउन मेनू के अंदर या बाहर क्लिक करने पर ड्रॉपडाउन मेनू बंद हो जाता है। आप autoClose
ड्रॉपडाउन के इस व्यवहार को बदलने के लिए विकल्प का उपयोग कर सकते हैं।
<div class="btn-group">
<button class="btn btn-secondary dropdown-toggle" type="button" id="defaultDropdown" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false">
Default dropdown
</button>
<ul class="dropdown-menu" aria-labelledby="defaultDropdown">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickableOutside" data-bs-toggle="dropdown" data-bs-auto-close="inside" aria-expanded="false">
Clickable outside
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuClickableOutside">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickableInside" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
Clickable inside
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuClickableInside">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
<div class="btn-group">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuClickable" data-bs-toggle="dropdown" data-bs-auto-close="false" aria-expanded="false">
Manual close
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuClickable">
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
<li><a class="dropdown-item" href="#">Menu item</a></li>
</ul>
</div>
सास
चर
सभी ड्रॉपडाउन के लिए चर:
$dropdown-min-width: 10rem;
$dropdown-padding-x: 0;
$dropdown-padding-y: .5rem;
$dropdown-spacer: .125rem;
$dropdown-font-size: $font-size-base;
$dropdown-color: $body-color;
$dropdown-bg: $white;
$dropdown-border-color: rgba($black, .15);
$dropdown-border-radius: $border-radius;
$dropdown-border-width: $border-width;
$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width);
$dropdown-divider-bg: $dropdown-border-color;
$dropdown-divider-margin-y: $spacer * .5;
$dropdown-box-shadow: $box-shadow;
$dropdown-link-color: $gray-900;
$dropdown-link-hover-color: shade-color($gray-900, 10%);
$dropdown-link-hover-bg: $gray-200;
$dropdown-link-active-color: $component-active-color;
$dropdown-link-active-bg: $component-active-bg;
$dropdown-link-disabled-color: $gray-500;
$dropdown-item-padding-y: $spacer * .25;
$dropdown-item-padding-x: $spacer;
$dropdown-header-color: $gray-600;
$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x;
अंधेरे ड्रॉपडाउन के लिए चर :
$dropdown-dark-color: $gray-300;
$dropdown-dark-bg: $gray-800;
$dropdown-dark-border-color: $dropdown-border-color;
$dropdown-dark-divider-bg: $dropdown-divider-bg;
$dropdown-dark-box-shadow: null;
$dropdown-dark-link-color: $dropdown-dark-color;
$dropdown-dark-link-hover-color: $white;
$dropdown-dark-link-hover-bg: rgba($white, .15);
$dropdown-dark-link-active-color: $dropdown-link-active-color;
$dropdown-dark-link-active-bg: $dropdown-link-active-bg;
$dropdown-dark-link-disabled-color: $gray-500;
$dropdown-dark-header-color: $gray-500;
CSS-आधारित कैरेट के लिए वेरिएबल्स जो ड्रॉपडाउन की अन्तरक्रियाशीलता को इंगित करते हैं:
$caret-width: .3em;
$caret-vertical-align: $caret-width * .85;
$caret-spacing: $caret-width * .85;
मिक्सिन्स
मिक्सिन का उपयोग सीएसएस-आधारित कैरेट उत्पन्न करने के लिए किया जाता है और इसे scss/mixins/_caret.scss
.
@mixin caret-down {
border-top: $caret-width solid;
border-right: $caret-width solid transparent;
border-bottom: 0;
border-left: $caret-width solid transparent;
}
@mixin caret-up {
border-top: 0;
border-right: $caret-width solid transparent;
border-bottom: $caret-width solid;
border-left: $caret-width solid transparent;
}
@mixin caret-end {
border-top: $caret-width solid transparent;
border-right: 0;
border-bottom: $caret-width solid transparent;
border-left: $caret-width solid;
}
@mixin caret-start {
border-top: $caret-width solid transparent;
border-right: $caret-width solid;
border-bottom: $caret-width solid transparent;
}
@mixin caret($direction: down) {
@if $enable-caret {
&::after {
display: inline-block;
margin-left: $caret-spacing;
vertical-align: $caret-vertical-align;
content: "";
@if $direction == down {
@include caret-down();
} @else if $direction == up {
@include caret-up();
} @else if $direction == end {
@include caret-end();
}
}
@if $direction == start {
&::after {
display: none;
}
&::before {
display: inline-block;
margin-right: $caret-spacing;
vertical-align: $caret-vertical-align;
content: "";
@include caret-start();
}
}
&:empty::after {
margin-left: 0;
}
}
}
प्रयोग
.show
डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से, ड्रॉपडाउन प्लगइन पैरेंट पर कक्षा को टॉगल करके छिपी हुई सामग्री (ड्रॉपडाउन मेनू) को टॉगल करता है .dropdown-menu
। data-bs-toggle="dropdown"
एप्लिकेशन स्तर पर ड्रॉपडाउन मेनू बंद करने के लिए विशेषता पर भरोसा किया जाता है, इसलिए इसका हमेशा उपयोग करना एक अच्छा विचार है ।
mouseover
के तत्काल बच्चों के लिए खाली हैंडलर
जोड़ता है। आईओएस के इवेंट प्रतिनिधिमंडल में<body>
एक विचित्रता के आसपास काम करने के लिए यह स्वीकार्य रूप से बदसूरत हैक आवश्यक है
, जो अन्यथा ड्रॉपडाउन के बाहर कहीं भी एक टैप को ड्रॉपडाउन को बंद करने वाले कोड को ट्रिगर करने से रोक देगा। ड्रॉपडाउन बंद होने के बाद, ये अतिरिक्त खाली
हैंडलर हटा दिए जाते हैं।
mouseover
डेटा विशेषताओं के माध्यम से
data-bs-toggle="dropdown"
किसी ड्रॉपडाउन को चालू करने के लिए लिंक या बटन में जोड़ें ।
<div class="dropdown">
<button id="dLabel" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown trigger
</button>
<ul class="dropdown-menu" aria-labelledby="dLabel">
...
</ul>
</div>
जावास्क्रिप्ट के माध्यम से
जावास्क्रिप्ट के माध्यम से ड्रॉपडाउन को कॉल करें:
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'))
var dropdownList = dropdownElementList.map(function (dropdownToggleEl) {
return new bootstrap.Dropdown(dropdownToggleEl)
})
data-bs-toggle="dropdown"
अभी भी आवश्यक
भले ही आप अपने ड्रॉपडाउन को जावास्क्रिप्ट के माध्यम से कॉल करें या इसके बजाय डेटा-एपीआई का उपयोग करें, data-bs-toggle="dropdown"
ड्रॉपडाउन के ट्रिगर तत्व पर हमेशा उपस्थित होना आवश्यक है।
विकल्प
विकल्प डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से पारित किए जा सकते हैं। डेटा विशेषताओं के लिए, विकल्प नाम को में जोड़ें data-bs-
, जैसा कि में है data-bs-offset=""
। डेटा विशेषताओं के माध्यम से विकल्पों को पास करते समय विकल्प नाम के केस प्रकार को कैमलकेस से कबाब-केस में बदलना सुनिश्चित करें। उदाहरण के लिए, उपयोग करने के बजाय data-bs-autoClose="false"
, उपयोग करें data-bs-auto-close="false"
।
नाम | टाइप | चूक | विवरण |
---|---|---|---|
boundary |
स्ट्रिंग | तत्व | 'clippingParents' |
ड्रॉपडाउन मेनू की ओवरफ्लो बाधा सीमा (केवल पॉपर के रोकथाम ओवरफ्लो संशोधक पर लागू होती है)। डिफ़ॉल्ट रूप से यह 'clippingParents' HTMLElement संदर्भ (केवल जावास्क्रिप्ट के माध्यम से) स्वीकार कर सकता है और स्वीकार कर सकता है। अधिक जानकारी के लिए पॉपर का डिटेक्ट ओवरफ्लो डॉक्स देखें । |
reference |
स्ट्रिंग | तत्व | वस्तु | 'toggle' |
ड्रॉपडाउन मेनू का संदर्भ तत्व। HTMLElement संदर्भ या प्रदान करने वाली वस्तु के मानों को स्वीकार करता 'toggle' है । अधिक जानकारी के लिए पॉपर के कंस्ट्रक्टर डॉक्स और वर्चुअल एलिमेंट डॉक्स देखें ।'parent' getBoundingClientRect |
display |
डोरी | 'dynamic' |
डिफ़ॉल्ट रूप से, हम गतिशील स्थिति निर्धारण के लिए पॉपर का उपयोग करते हैं। इसके साथ अक्षम करें static । |
offset |
सरणी | स्ट्रिंग | समारोह | [0, 2] |
अपने लक्ष्य के सापेक्ष ड्रॉपडाउन की भरपाई। आप अल्पविराम से अलग किए गए मानों के साथ डेटा विशेषताओं में एक स्ट्रिंग पास कर सकते हैं जैसे: जब ऑफ़सेट को निर्धारित करने के लिए किसी फ़ंक्शन का उपयोग किया जाता है, तो इसे पॉपर प्लेसमेंट, संदर्भ, और पॉपर रेक्ट्स वाले ऑब्जेक्ट के साथ इसके पहले तर्क के रूप में कहा जाता है। ट्रिगरिंग तत्व DOM नोड को दूसरे तर्क के रूप में पास किया जाता है। फ़ंक्शन को दो संख्याओं के साथ एक सरणी वापस करनी होगी: . अधिक जानकारी के लिए पॉपर ऑफ़सेट डॉक्स देखें । |
autoClose |
बूलियन | डोरी | true |
ड्रॉपडाउन के स्वतः बंद व्यवहार को कॉन्फ़िगर करें:
|
popperConfig |
शून्य | वस्तु | समारोह | null |
बूटस्ट्रैप के डिफ़ॉल्ट पॉपर कॉन्फिगरेशन को बदलने के लिए, पॉपर का कॉन्फिगरेशन देखें । जब पॉपर कॉन्फ़िगरेशन बनाने के लिए फ़ंक्शन का उपयोग किया जाता है, तो इसे उस ऑब्जेक्ट के साथ बुलाया जाता है जिसमें बूटस्ट्रैप का डिफ़ॉल्ट पॉपर कॉन्फ़िगरेशन होता है। यह आपको अपने स्वयं के कॉन्फ़िगरेशन के साथ डिफ़ॉल्ट का उपयोग और विलय करने में मदद करता है। फ़ंक्शन को पॉपर के लिए कॉन्फ़िगरेशन ऑब्जेक्ट वापस करना होगा। |
के साथ फ़ंक्शन का उपयोग करनाpopperConfig
var dropdown = new bootstrap.Dropdown(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
तरीकों
तरीका | विवरण |
---|---|
toggle |
किसी दिए गए नेवबार या टैब्ड नेविगेशन के ड्रॉपडाउन मेनू को टॉगल करता है। |
show |
किसी दिए गए नेवबार या टैब्ड नेविगेशन का ड्रॉपडाउन मेनू दिखाता है। |
hide |
किसी दिए गए नेवबार या टैब्ड नेविगेशन के ड्रॉपडाउन मेनू को छुपाता है। |
update |
किसी तत्व के ड्रॉपडाउन की स्थिति को अपडेट करता है। |
dispose |
किसी तत्व के ड्रॉपडाउन को नष्ट कर देता है। (डीओएम तत्व पर संग्रहीत डेटा हटा देता है) |
getInstance |
स्टेटिक विधि जो आपको डीओएम तत्व से जुड़े ड्रॉपडाउन इंस्टेंस को प्राप्त करने की अनुमति देती है, आप इसे इस तरह उपयोग कर सकते हैं:bootstrap.Dropdown.getInstance(element) |
getOrCreateInstance |
स्टेटिक विधि जो एक डोम तत्व से जुड़े ड्रॉपडाउन इंस्टेंस को लौटाती है या यदि इसे प्रारंभ नहीं किया गया था तो एक नया बनाएं। आप इसे इस तरह इस्तेमाल कर सकते हैं:bootstrap.Dropdown.getOrCreateInstance(element) |
आयोजन
सभी ड्रॉपडाउन घटनाओं को टॉगल करने वाले तत्व पर सक्रिय किया जाता है और फिर बबल अप किया जाता है। तो आप ईवेंट श्रोताओं को .dropdown-menu
मूल तत्व पर भी जोड़ सकते हैं। hide.bs.dropdown
और hidden.bs.dropdown
ईवेंट में एक clickEvent
प्रॉपर्टी होती है (केवल जब मूल ईवेंट प्रकार होता है click
) जिसमें क्लिक ईवेंट के लिए ईवेंट ऑब्जेक्ट होता है।
तरीका | विवरण |
---|---|
show.bs.dropdown |
जब शो इंस्टेंस विधि कहा जाता है तो तुरंत आग लगती है। |
shown.bs.dropdown |
जब ड्रॉपडाउन उपयोगकर्ता के लिए दृश्यमान हो गया हो और CSS ट्रांज़िशन पूरा हो गया हो, तब निकाल दिया गया। |
hide.bs.dropdown |
जब छुपा इंस्टेंस विधि कहा जाता है तो तुरंत आग लगती है। |
hidden.bs.dropdown |
जब ड्रॉपडाउन समाप्त हो गया है तो उपयोगकर्ता से छुपाया जा रहा है और सीएसएस संक्रमण पूरा हो गया है। |
var myDropdown = document.getElementById('myDropdown')
myDropdown.addEventListener('show.bs.dropdown', function () {
// do something...
})