স্কিপ করে মূল কন্টেন্ট এ যাও ডক্স নেভিগেশন এড়িয়ে যান
in English

ড্রপডাউন

বুটস্ট্র্যাপ ড্রপডাউন প্লাগইন সহ লিঙ্কগুলির তালিকা এবং আরও অনেক কিছু প্রদর্শনের জন্য প্রাসঙ্গিক ওভারলেগুলি টগল করুন।

ওভারভিউ

ড্রপডাউনগুলি টগলযোগ্য, লিঙ্কগুলির তালিকা এবং আরও অনেক কিছু প্রদর্শনের জন্য প্রাসঙ্গিক ওভারলে। তারা অন্তর্ভুক্ত বুটস্ট্র্যাপ ড্রপডাউন জাভাস্ক্রিপ্ট প্লাগইনের সাথে ইন্টারেক্টিভ করা হয়েছে। এগুলি ক্লিক করে টগল করা হয়, হোভার করে নয়; এটি একটি ইচ্ছাকৃত নকশা সিদ্ধান্ত .

ড্রপডাউনগুলি একটি তৃতীয় পক্ষের লাইব্রেরিতে তৈরি করা হয়েছে, পপার , যা গতিশীল অবস্থান এবং ভিউপোর্ট সনাক্তকরণ প্রদান করে। বুটস্ট্র্যাপের জাভাস্ক্রিপ্ট বা ব্যবহার করার আগে popper.min.js অন্তর্ভুক্ত করতে ভুলবেন না যেটিতে পপার রয়েছে। পপার ন্যাভবারে ড্রপডাউন অবস্থান করতে ব্যবহৃত হয় না যদিও গতিশীল অবস্থানের প্রয়োজন হয় না।bootstrap.bundle.min.jsbootstrap.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৷ কাস্টম CSS বা টেক্সট ইউটিলিটিগুলির সাথে আরও স্টাইল করতে নির্দ্বিধায়৷

<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"এখনও প্রয়োজন

আপনি JavaScript এর মাধ্যমে আপনার ড্রপডাউন কল করুন বা ডাটা-এপিআই ব্যবহার করুন না কেন data-bs-toggle="dropdown", ড্রপডাউনের ট্রিগার উপাদানে সবসময় উপস্থিত থাকা প্রয়োজন।

অপশন

বিকল্পগুলি ডেটা অ্যাট্রিবিউট বা জাভাস্ক্রিপ্টের মাধ্যমে পাস করা যেতে পারে। ডেটা অ্যাট্রিবিউটের জন্য, বিকল্পের নাম যোগ করুন data-bs-, যেমনটি data-bs-offset=""। ডেটা অ্যাট্রিবিউটের মাধ্যমে বিকল্পগুলি পাস করার সময় ক্যামেলকেস থেকে কাবাব-কেসে বিকল্প নামের কেস টাইপ পরিবর্তন করতে ভুলবেন না। উদাহরণস্বরূপ, ব্যবহার করার পরিবর্তে data-bs-autoClose="false", ব্যবহার করুন data-bs-auto-close="false"

নাম টাইপ ডিফল্ট বর্ণনা
boundary স্ট্রিং | উপাদান 'clippingParents' ড্রপডাউন মেনুর ওভারফ্লো সীমাবদ্ধতা (শুধু পপারের প্রতিরোধ ওভারফ্লো সংশোধকের ক্ষেত্রে প্রযোজ্য)। ডিফল্টরূপে এটি 'clippingParents'একটি HTMLElement রেফারেন্স গ্রহণ করতে পারে (শুধুমাত্র জাভাস্ক্রিপ্টের মাধ্যমে)। আরও তথ্যের জন্য Popper's detectOverflow ডক্স পড়ুন ।
reference স্ট্রিং | উপাদান | বস্তু 'toggle' ড্রপডাউন মেনুর রেফারেন্স উপাদান। 'toggle', 'parent', একটি HTMLElement রেফারেন্স বা প্রদানকারী একটি বস্তুর মান গ্রহণ করে getBoundingClientRect। আরও তথ্যের জন্য পপারের কনস্ট্রাক্টর ডক্স এবং ভার্চুয়াল এলিমেন্ট ডক্স দেখুন ।
display স্ট্রিং 'dynamic' ডিফল্টরূপে, আমরা গতিশীল অবস্থানের জন্য পপার ব্যবহার করি। এটি দিয়ে অক্ষম করুন static
offset অ্যারে | স্ট্রিং | ফাংশন [0, 2]

ড্রপডাউন অফসেট এর টার্গেট আপেক্ষিক. আপনি কমা বিভক্ত মান সহ ডেটা অ্যাট্রিবিউটে একটি স্ট্রিং পাস করতে পারেন যেমন:data-bs-offset="10,20"

যখন অফসেট নির্ধারণ করতে একটি ফাংশন ব্যবহার করা হয়, তখন এটিকে পপার বসানো, রেফারেন্স সহ একটি বস্তুর সাথে ডাকা হয় এবং পপার তার প্রথম যুক্তি হিসাবে রেক্ট করে। ট্রিগারিং উপাদান DOM নোডটি দ্বিতীয় আর্গুমেন্ট হিসাবে পাস করা হয়। ফাংশনটি অবশ্যই দুটি সংখ্যা সহ একটি অ্যারে প্রদান করবে :[skidding, distance]

আরও তথ্যের জন্য পপারের অফসেট ডক্স দেখুন ।

autoClose বুলিয়ান | স্ট্রিং true

ড্রপডাউনের স্বয়ংক্রিয় বন্ধ আচরণ কনফিগার করুন:

  • true- ড্রপডাউন মেনুর বাইরে বা ভিতরে ক্লিক করে ড্রপডাউন বন্ধ হয়ে যাবে।
  • false- টগল বোতামে ক্লিক করে এবং ম্যানুয়ালি কল hideবা toggleপদ্ধতিতে ড্রপডাউন বন্ধ হয়ে যাবে। (এছাড়াও কী টিপে বন্ধ হবে না esc)
  • 'inside'- ড্রপডাউন মেনুতে ক্লিক করে ড্রপডাউনটি বন্ধ হয়ে যাবে (শুধুমাত্র)।
  • 'outside'- ড্রপডাউন মেনুর বাইরে ক্লিক করে ড্রপডাউনটি বন্ধ হয়ে যাবে (শুধুমাত্র)।
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 একটি উপাদান এর ড্রপডাউন ধ্বংস. (DOM উপাদানে সঞ্চিত ডেটা সরিয়ে দেয়)
getInstance স্ট্যাটিক পদ্ধতি যা আপনাকে একটি DOM উপাদানের সাথে যুক্ত ড্রপডাউন উদাহরণ পেতে দেয়, আপনি এটি এভাবে ব্যবহার করতে পারেন:bootstrap.Dropdown.getInstance(element)
getOrCreateInstance স্ট্যাটিক পদ্ধতি যা একটি DOM উপাদানের সাথে যুক্ত একটি ড্রপডাউন উদাহরণ প্রদান করে বা এটি আরম্ভ করা না হলে একটি নতুন তৈরি করে৷ আপনি এটি এই মত ব্যবহার করতে পারেন: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 ড্রপডাউনটি ব্যবহারকারীর কাছ থেকে লুকানো শেষ হয়ে গেলে এবং CSS ট্রানজিশন সম্পূর্ণ হয়ে গেলে বহিস্কার করা হয়।
var myDropdown = document.getElementById('myDropdown')
myDropdown.addEventListener('show.bs.dropdown', function () {
  // do something...
})