বুটস্ট্র্যাপ ড্রপডাউন প্লাগইন সহ লিঙ্কগুলির তালিকা এবং আরও অনেক কিছু প্রদর্শনের জন্য প্রাসঙ্গিক ওভারলেগুলি টগল করুন।
ওভারভিউ
ড্রপডাউনগুলি টগলযোগ্য, লিঙ্কগুলির তালিকা এবং আরও অনেক কিছু প্রদর্শনের জন্য প্রাসঙ্গিক ওভারলে। তারা অন্তর্ভুক্ত বুটস্ট্র্যাপ ড্রপডাউন জাভাস্ক্রিপ্ট প্লাগইনের সাথে ইন্টারেক্টিভ করা হয়েছে। এগুলি ক্লিক করে টগল করা হয়, হোভার করে নয়; এটি একটি ইচ্ছাকৃত নকশা সিদ্ধান্ত .
ড্রপডাউনগুলি একটি তৃতীয় পক্ষের লাইব্রেরিতে তৈরি করা হয়েছে, Popper.js , যা গতিশীল অবস্থান এবং ভিউপোর্ট সনাক্তকরণ প্রদান করে। Bootstrap এর JavaScript বা ব্যবহার করার আগে popper.min.js অন্তর্ভুক্ত করতে ভুলবেন না যেটিতে bootstrap.bundle.min.jsPopper.js bootstrap.bundle.jsরয়েছে। Popper.js নেভিবারে ড্রপডাউনের অবস্থানের জন্য ব্যবহৃত হয় না যদিও গতিশীল অবস্থানের প্রয়োজন হয় না।
আপনি যদি উৎস থেকে আমাদের জাভাস্ক্রিপ্ট তৈরি করেন, তাহলে এটির প্রয়োজনutil.js ।
অ্যাক্সেসযোগ্যতা
WAI ARIA স্ট্যান্ডার্ড একটি প্রকৃত role="menu"উইজেটকে সংজ্ঞায়িত করে , তবে এটি অ্যাপ্লিকেশনের মতো মেনুগুলির জন্য নির্দিষ্ট যা ক্রিয়া বা ফাংশনকে ট্রিগার করে। ARIA মেনুতে শুধুমাত্র মেনু আইটেম, চেকবক্স মেনু আইটেম, রেডিও বোতাম মেনু আইটেম, রেডিও বোতাম গ্রুপ এবং সাব-মেনু থাকতে পারে।
অন্য দিকে, বুটস্ট্র্যাপের ড্রপডাউনগুলি জেনেরিক এবং বিভিন্ন পরিস্থিতিতে এবং মার্কআপ কাঠামোর জন্য প্রযোজ্য হওয়ার জন্য ডিজাইন করা হয়েছে। উদাহরণস্বরূপ, ড্রপডাউন তৈরি করা সম্ভব যাতে অতিরিক্ত ইনপুট এবং ফর্ম নিয়ন্ত্রণ থাকে, যেমন অনুসন্ধান ক্ষেত্র বা লগইন ফর্ম। এই কারণে, বুটস্ট্র্যাপ সত্যিকারের ARIA মেনুগুলির জন্য প্রয়োজনীয় roleএবং বৈশিষ্ট্যগুলির কোনোটি আশা করে না (বা স্বয়ংক্রিয়ভাবে যোগ) করে না। লেখকদের এই আরও নির্দিষ্ট গুণাবলী নিজেদের অন্তর্ভুক্ত করতে হবে।aria-
যাইহোক, বুটস্ট্র্যাপ বেশিরভাগ স্ট্যান্ডার্ড কীবোর্ড মেনু ইন্টারঅ্যাকশনের জন্য অন্তর্নির্মিত সমর্থন যোগ করে, যেমন .dropdown-itemকার্সার কী ব্যবহার করে পৃথক উপাদানগুলির মধ্য দিয়ে যাওয়ার ক্ষমতা এবং ESCকী দিয়ে মেনু বন্ধ করার ক্ষমতা।
উদাহরণ
ড্রপডাউনের টগল (আপনার বোতাম বা লিঙ্ক) এবং ড্রপডাউন মেনু এর মধ্যে মোড়ানো .dropdown, বা অন্য একটি উপাদান যা ঘোষণা করে position: relative;। ড্রপডাউনগুলি আপনার সম্ভাব্য চাহিদাগুলিকে আরও ভালভাবে ফিট করার জন্য উপাদানগুলি <a>থেকে ট্রিগার করা যেতে পারে।<button>
একক বোতাম
যেকোনো একক .btnকিছু মার্কআপ পরিবর্তনের সাথে ড্রপডাউন টগলে পরিণত করা যেতে পারে। এখানে আপনি কিভাবে তাদের উভয় <button>উপাদানের সাথে কাজ করতে পারেন:
একইভাবে, একক বোতাম ড্রপডাউনের মতো কার্যত একই মার্কআপ সহ স্প্লিট বোতাম ড্রপডাউন তৈরি করুন, তবে .dropdown-toggle-splitড্রপডাউন ক্যারেটের চারপাশে যথাযথ ব্যবধানের জন্য যোগ করুন।
paddingআমরা ক্যারেটের উভয় পাশের অনুভূমিক 25% কমাতে margin-leftএবং নিয়মিত বোতাম ড্রপডাউনের জন্য যোগ করা অপসারণ করতে এই অতিরিক্ত শ্রেণীটি ব্যবহার করি । এই অতিরিক্ত পরিবর্তনগুলি ক্যারেটকে স্প্লিট বোতামে কেন্দ্রীভূত রাখে এবং প্রধান বোতামের পাশে আরও উপযুক্ত আকারের হিট এলাকা প্রদান করে।
ঐতিহাসিকভাবে ড্রপডাউন মেনু বিষয়বস্তু লিঙ্ক হতে হবে, কিন্তু এটি আর v4 এর ক্ষেত্রে নয়। এখন আপনি শুধুমাত্র s এর <button>পরিবর্তে ঐচ্ছিকভাবে আপনার ড্রপডাউনে উপাদান ব্যবহার করতে পারেন ।<a>
আপনি এর সাথে অ-ইন্টারেক্টিভ ড্রপডাউন আইটেমও তৈরি করতে পারেন .dropdown-item-text৷ কাস্টম CSS বা টেক্সট ইউটিলিটিগুলির সাথে আরও স্টাইল করতে নির্দ্বিধায়৷
ডিফল্টরূপে, একটি ড্রপডাউন মেনু স্বয়ংক্রিয়ভাবে 100% উপরে থেকে এবং তার পিতামাতার বাম পাশে অবস্থান করে। ড্রপডাউন মেনুটি ডানদিকে সারিবদ্ধ করুন এ যোগ করুন .dropdown-menu-right।.dropdown-menu
মাথা আপ! ড্রপডাউনগুলি Popper.js-এর জন্য ধন্যবাদ (এগুলি একটি নেভিবারে থাকা ছাড়া)।
প্রতিক্রিয়াশীল প্রান্তিককরণ
আপনি যদি প্রতিক্রিয়াশীল প্রান্তিককরণ ব্যবহার করতে চান তবে data-display="static"বৈশিষ্ট্য যোগ করে গতিশীল অবস্থান নিষ্ক্রিয় করুন এবং প্রতিক্রিয়াশীল বৈচিত্র্য ক্লাসগুলি ব্যবহার করুন।
প্রদত্ত ব্রেকপয়েন্ট বা বড় দিয়ে ড্রপডাউন মেনুটি ডানদিকে সারিবদ্ধ করতে , যোগ করুন .dropdown-menu{-sm|-md|-lg|-xl}-right।
প্রদত্ত ব্রেকপয়েন্টের সাথে বামদিকে ড্রপডাউন মেনু বা তার চেয়ে বড় সারিবদ্ধ করতে , যোগ করুন .dropdown-menu-rightএবং .dropdown-menu{-sm|-md|-lg|-xl}-left.
মনে রাখবেন যে আপনাকে data-display="static"navbars-এ ড্রপডাউন বোতামগুলিতে একটি বৈশিষ্ট্য যোগ করতে হবে না, যেহেতু Popper.js navbarগুলিতে ব্যবহার করা হয় না।
মেনু বিষয়বস্তু
হেডার
যেকোন ড্রপডাউন মেনুতে কর্মের লেবেল বিভাগের জন্য একটি শিরোনাম যোগ করুন।
পাঠ্য সহ একটি ড্রপডাউন মেনুতে যেকোনো ফ্রিফর্ম পাঠ্য রাখুন এবং ব্যবধানের ইউটিলিটিগুলি ব্যবহার করুন । মনে রাখবেন যে মেনুর প্রস্থ সীমাবদ্ধ করার জন্য আপনার সম্ভবত অতিরিক্ত সাইজিং শৈলীর প্রয়োজন হবে।
কিছু উদাহরণ পাঠ্য যা ড্রপডাউন মেনুতে মুক্ত-প্রবাহিত।
.showডেটা অ্যাট্রিবিউট বা জাভাস্ক্রিপ্টের মাধ্যমে, ড্রপডাউন প্লাগইনটি অভিভাবক তালিকা আইটেমে ক্লাস টগল করে লুকানো সামগ্রী (ড্রপডাউন মেনু) টগল করে । অ্যাট্রিবিউটটি data-toggle="dropdown"একটি অ্যাপ্লিকেশন স্তরে ড্রপডাউন মেনু বন্ধ করার জন্য নির্ভর করা হয়, তাই এটি সর্বদা ব্যবহার করা একটি ভাল ধারণা।
স্পর্শ-সক্ষম ডিভাইসগুলিতে, একটি ড্রপডাউন খোলার ফলে উপাদানটির অবিলম্বে শিশুদের জন্য খালি ( $.noop) হ্যান্ডলার যোগ করা হয়। আইওএস-এর ইভেন্ট ডেলিগেশনে একটি ব্যঙ্গের চারপাশে কাজ করার জন্য এই স্বীকার্যভাবে কুৎসিত হ্যাকটি প্রয়োজনীয় , যা অন্যথায় ড্রপডাউন বন্ধ করে এমন কোডটিকে ট্রিগার করতে ড্রপডাউনের বাইরে কোথাও একটি ট্যাপকে বাধা দেবে। ড্রপডাউন বন্ধ হয়ে গেলে, এই অতিরিক্ত খালি হ্যান্ডলারগুলি সরানো হয়।mouseover<body>mouseover
ডেটা অ্যাট্রিবিউটের মাধ্যমে
data-toggle="dropdown"একটি ড্রপডাউন টগল করতে একটি লিঙ্ক বা বোতামে যোগ করুন ।
জাভাস্ক্রিপ্টের মাধ্যমে
জাভাস্ক্রিপ্টের মাধ্যমে ড্রপডাউনগুলি কল করুন:
data-toggle="dropdown"এখনও প্রয়োজন
আপনি JavaScript এর মাধ্যমে আপনার ড্রপডাউন কল করুন বা ডাটা-এপিআই ব্যবহার করুন না কেন data-toggle="dropdown", ড্রপডাউনের ট্রিগার উপাদানে সবসময় উপস্থিত থাকা প্রয়োজন।
অপশন
বিকল্পগুলি ডেটা অ্যাট্রিবিউট বা জাভাস্ক্রিপ্টের মাধ্যমে পাস করা যেতে পারে। ডেটা অ্যাট্রিবিউটের জন্য, বিকল্পের নাম যোগ করুন data-, যেমনটি data-offset=""।
নাম
টাইপ
ডিফল্ট
বর্ণনা
অফসেট
সংখ্যা | স্ট্রিং | ফাংশন
0
ড্রপডাউন অফসেট এর টার্গেট আপেক্ষিক.
যখন একটি ফাংশন অফসেট নির্ধারণ করতে ব্যবহার করা হয়, তখন এটিকে প্রথম আর্গুমেন্ট হিসাবে অফসেট ডেটা ধারণকারী বস্তুর সাথে ডাকা হয়। ফাংশনটি অবশ্যই একই কাঠামো সহ একটি অবজেক্ট রিটার্ন করবে। ট্রিগারিং উপাদান DOM নোড দ্বিতীয় আর্গুমেন্ট হিসাবে পাস করা হয়.
রেফারেন্স এলিমেন্টে ওভারল্যাপিংয়ের ক্ষেত্রে ড্রপডাউনকে ফ্লিপ করার অনুমতি দিন। আরও তথ্যের জন্য Popper.js এর ফ্লিপ ডক্স দেখুন ।
সীমানা
স্ট্রিং | উপাদান
'স্ক্রোল প্যারেন্ট'
ড্রপডাউন মেনুর ওভারফ্লো সীমাবদ্ধতা। 'viewport', 'window', 'scrollParent', বা একটি HTMLElement রেফারেন্স (শুধুমাত্র জাভাস্ক্রিপ্ট) এর মান গ্রহণ করে । আরও তথ্যের জন্য Popper.js এর প্রতিরোধ ওভারফ্লো ডক্স দেখুন ।
রেফারেন্স
স্ট্রিং | উপাদান
'টগল'
ড্রপডাউন মেনুর রেফারেন্স উপাদান। 'toggle', 'parent', বা একটি HTMLElement রেফারেন্স এর মান গ্রহণ করে । আরও তথ্যের জন্য Popper.js এর রেফারেন্স অবজেক্ট ডক্স দেখুন ।
প্রদর্শন
স্ট্রিং
'গতিশীল'
ডিফল্টরূপে, আমরা গতিশীল অবস্থানের জন্য Popper.js ব্যবহার করি। এটি দিয়ে অক্ষম করুন static।
নোট করুন যখন boundaryব্যতীত অন্য কোনো মান সেট করা হয় 'scrollParent', স্টাইলটি পাত্রে position: staticপ্রয়োগ করা হয় ।.dropdown
পদ্ধতি
পদ্ধতি
বর্ণনা
$().dropdown('toggle')
একটি প্রদত্ত নেভিবার বা ট্যাবড নেভিগেশনের ড্রপডাউন মেনু টগল করে।
$().dropdown('show')
একটি প্রদত্ত ন্যাভিবার বা ট্যাবড নেভিগেশনের ড্রপডাউন মেনু দেখায়।
$().dropdown('hide')
একটি প্রদত্ত ন্যাভিবার বা ট্যাবড নেভিগেশনের ড্রপডাউন মেনু লুকায়।
$().dropdown('update')
একটি উপাদানের ড্রপডাউন অবস্থান আপডেট করে।
$().dropdown('dispose')
একটি উপাদান এর ড্রপডাউন ধ্বংস.
ঘটনা
.dropdown-menuসমস্ত ড্রপডাউন ইভেন্টগুলি এর মূল উপাদানে চালিত হয় এবং একটি relatedTargetসম্পত্তি থাকে, যার মান হল টগল করা অ্যাঙ্কর উপাদান৷ hide.bs.dropdownএবং hidden.bs.dropdownইভেন্টগুলির একটি clickEventসম্পত্তি থাকে (শুধুমাত্র যখন মূল ইভেন্টের ধরন হয় click) যাতে ক্লিক ইভেন্টের জন্য একটি ইভেন্ট অবজেক্ট থাকে।
ঘটনা
বর্ণনা
show.bs.dropdown
শো ইনস্ট্যান্স পদ্ধতি কল করা হলে এই ইভেন্টটি অবিলম্বে চালু হয়।
shown.bs.dropdown
ড্রপডাউনটি ব্যবহারকারীর কাছে দৃশ্যমান হয়ে গেলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস ট্রানজিশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)।
hide.bs.dropdown
হাইড ইনস্ট্যান্স পদ্ধতি কল করা হলে এই ইভেন্টটি অবিলম্বে বহিস্কার করা হয়।
hidden.bs.dropdown
ড্রপডাউনটি ব্যবহারকারীর কাছ থেকে লুকানো শেষ হলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস ট্রানজিশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)।