გადართეთ კონტექსტური გადაფარვები ბმულების სიების საჩვენებლად და სხვა Bootstrap ჩამოსაშლელი მოდულით.
მიმოხილვა
ჩამოსაშლელები არის გადართვადი, კონტექსტური გადაფარვები ბმულების სიების საჩვენებლად და სხვა. ისინი ინტერაქტიულია ჩართული Bootstrap ჩამოსაშლელი JavaScript მოდულით. მათი გადართვა ხდება დაწკაპუნებით და არა მატრიცით; ეს არის მიზანმიმართული დიზაინის გადაწყვეტილება .
ჩამოსაშლელი ფაილები აგებულია მესამე მხარის ბიბლიოთეკაზე, Popper.js , რომელიც უზრუნველყოფს დინამიურ პოზიციონირებას და ხედვის პორტის ამოცნობას. დარწმუნდით, რომ ჩართეთ popper.min.js Bootstrap-ის JavaScript-მდე ან გამოიყენეთ bootstrap.bundle.min.js/ bootstrap.bundle.jsრომელიც შეიცავს Popper.js-ს. Popper.js არ გამოიყენება ჩამოსაშლელი ფაილების პოზიციონირებისთვის navbars-ში, თუმცა დინამიური პოზიციონირება არ არის საჭირო.
თუ თქვენ აშენებთ ჩვენს JavaScript-ს წყაროდან, ის მოითხოვსutil.js .
ხელმისაწვდომობა
WAI ARIA სტანდარტი განსაზღვრავს რეალურ role="menu"ვიჯეტს , მაგრამ ეს სპეციფიკურია აპლიკაციის მსგავსი მენიუებისთვის, რომლებიც ახდენენ მოქმედებებს ან ფუნქციებს. ARIA მენიუები შეიძლება შეიცავდეს მხოლოდ მენიუს ელემენტებს, მონიშვნის ველის მენიუს ელემენტებს, რადიო ღილაკების მენიუს ელემენტებს, რადიოს ღილაკების ჯგუფებს და ქვემენიუებს.
მეორეს მხრივ, Bootstrap-ის ჩამოსაშლელი ფაილები შექმნილია როგორც ზოგადი და გამოსაყენებელი სხვადასხვა სიტუაციებისა და მარკირების სტრუქტურებისთვის. მაგალითად, შესაძლებელია ჩამოსაშლელი ფანჯრების შექმნა, რომლებიც შეიცავენ დამატებით შენატანს და ფორმის კონტროლს, როგორიცაა საძიებო ველები ან შესვლის ფორმები. ამ მიზეზით, Bootstrap არ მოელის (არც ავტომატურად დაამატებს) რომელიმე ატრიბუტს role, aria-რომელიც საჭიროა ნამდვილი ARIA მენიუსთვის. ავტორებმა თავად უნდა შეიტანონ ეს უფრო კონკრეტული ატრიბუტები.
თუმცა, Bootstrap ამატებს ჩაშენებულ მხარდაჭერას კლავიატურის მენიუს უმეტესი სტანდარტული ურთიერთქმედებისთვის, როგორიცაა ცალკეულ .dropdown-itemელემენტებში გადაადგილების შესაძლებლობა კურსორის ღილაკების გამოყენებით და მენიუს დახურვა ღილაკით ESC.
მაგალითები
ჩაალაგეთ ჩამოსაშლელი გადამრთველი (თქვენი ღილაკი ან ბმული) და ჩამოსაშლელი მენიუ შიგნით .dropdownან სხვა ელემენტში, რომელიც აცხადებს position: relative;. ჩამოსაშლელი ღილაკები შეიძლება გააქტიურდეს <a>ან <button>ელემენტებიდან, რათა უკეთ მოერგოს თქვენს პოტენციურ საჭიროებებს.
ერთი ღილაკი
ნებისმიერი სინგლი .btnშეიძლება გადაიზარდოს ჩამოსაშლელ გადამრთველად გარკვეული მარკირების ცვლილებებით. აი, როგორ შეგიძლიათ მათი მუშაობა რომელიმე <button>ელემენტთან:
ანალოგიურად, შექმენით გაყოფილი ღილაკების ჩამოსაშლელები ფაქტობრივად იგივე მარკირებით, როგორც ერთი ღილაკის ჩამოსაშლელი ღილაკები, მაგრამ .dropdown-toggle-splitჩასაშლელი კარტის ირგვლივ სათანადო ინტერვალის დამატებით.
ჩვენ ვიყენებთ ამ დამატებით კლასს, რათა შევამციროთ ჰორიზონტალური paddingზოლის ორივე მხარეს 25%-ით და წავშალოთ ის, margin-leftრაც დამატებულია ღილაკების რეგულარული ჩამოსაშლელებისთვის. ეს დამატებითი ცვლილებები ინარჩუნებს კარტს ორიენტირებული გაყოფის ღილაკზე და უზრუნველყოფს უფრო სათანადო ზომის დარტყმის ზონას მთავარი ღილაკის გვერდით.
ისტორიულად ჩამოსაშლელი მენიუს შიგთავსი უნდა იყოს ბმულები, მაგრამ ეს აღარ არის საქმე v4-ში. ახლა თქვენ შეგიძლიათ სურვილისამებრ გამოიყენოთ <button>ელემენტები თქვენს ჩამოსაშლელ სიაში მხოლოდ <a>s-ის ნაცვლად.
თქვენ ასევე შეგიძლიათ შექმნათ არაინტერაქტიული ჩამოსაშლელი ელემენტები .dropdown-item-text. მოგერიდებათ შემდგომი სტილი CSS-ის ან ტექსტური საშუალებების გამოყენებით.
ნაგულისხმევად, ჩამოსაშლელი მენიუ ავტომატურად განლაგებულია 100%-ით ზემოდან და მისი მშობლის მარცხენა მხარეს. დაამატეთ .dropdown-menu-righta- .dropdown-menuში მარჯვნივ გასწორება ჩამოსაშლელი მენიუში.
Თავები მაღლა! ჩამოსაშლელი ფაილები განლაგებულია Popper.js-ის წყალობით (გარდა იმ შემთხვევებისა, როდესაც ისინი შეიცავს navbar-ში).
საპასუხო გასწორება
თუ გსურთ გამოიყენოთ საპასუხო გასწორება, გამორთეთ დინამიური პოზიციონირება 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 არ გამოიყენება navbars-ში.
მენიუს შინაარსი
სათაურები
დაამატეთ სათაური მოქმედებების სექციების ლეიბლისთვის ნებისმიერ ჩამოსაშლელ მენიუში.
განათავსეთ ნებისმიერი თავისუფალი ფორმის ტექსტი ჩამოსაშლელ მენიუში ტექსტით და გამოიყენეთ ინტერვალის უტილიტები . გაითვალისწინეთ, რომ მენიუს სიგანის შეზღუდვისთვის, სავარაუდოდ, დაგჭირდებათ ზომის დამატებითი სტილები.
რამდენიმე მაგალითი ტექსტი, რომელიც თავისუფლად მიედინება ჩამოსაშლელ მენიუში.
და ეს არის უფრო მეტი მაგალითი ტექსტი.
ფორმები
განათავსეთ ფორმა ჩამოსაშლელ მენიუში, ან გადააქციეთ ის ჩამოსაშლელ მენიუში და გამოიყენეთ ზღვრული ან padding უტილიტები , რომ მისცეთ მას თქვენთვის საჭირო უარყოფითი სივრცე.
მონაცემთა ატრიბუტების ან JavaScript-ის საშუალებით, ჩამოსაშლელი დანამატი გადართავს ფარულ შინაარსს (ჩამოშლელ მენიუებს) .showკლასის გადართვით მშობელი სიის ელემენტზე. data-toggle="dropdown"ატრიბუტს ეყრდნობა ჩამოსაშლელი მენიუების დახურვისთვის აპლიკაციის დონეზე, ამიტომ კარგი იდეაა მისი ყოველთვის გამოყენება .
შეხებით ჩართულ მოწყობილობებზე, ჩამოსაშლელი მენიუს გახსნა ელემენტის უშუალო შვილებს ემატება ცარიელი ( $.noop) დამმუშავებლები. ეს, რა თქმა უნდა, მახინჯი ჰაკი აუცილებელია iOS-ის ღონისძიების დელეგაციაში უხერხულობის აღმოსაფხვრელად , რაც სხვაგვარად ხელს შეუშლის ჩამოსაშლელი მენიუს მიღმა შეხებას კოდის გააქტიურებისგან, რომელიც ხურავს ჩამოსაშლელს. ჩამოსაშლელი მენიუს დახურვის შემდეგ, ეს დამატებითი ცარიელი დამმუშავებლები წაიშლება.mouseover<body>mouseover
მონაცემთა ატრიბუტების მეშვეობით
დაამატეთ data-toggle="dropdown"ბმულზე ან ღილაკზე ჩამოსაშლელი მენიუს გადასართავად.
JavaScript-ის საშუალებით
გამოიძახეთ ჩამოსაშლელები JavaScript-ით:
data-toggle="dropdown"ჯერ კიდევ საჭიროა
განურჩევლად იმისა, გამოიძახებთ თუ არა თქვენს ჩამოსაშლელს JavaScript-ის საშუალებით, თუ სანაცვლოდ იყენებთ data-api-ს, data-toggle="dropdown"ყოველთვის საჭიროა ჩამოსაშლელი ტრიგერის ელემენტზე ყოფნა.
Პარამეტრები
ოფციების გადაცემა შესაძლებელია მონაცემთა ატრიბუტების ან JavaScript-ის საშუალებით. მონაცემთა ატრიბუტებისთვის, დაამატეთ ვარიანტის სახელი data-, როგორც data-offset="".
როდესაც ფუნქცია გამოიყენება ოფსეტის დასადგენად, ის გამოიძახება ობიექტით, რომელიც შეიცავს ოფსეტური მონაცემების პირველ არგუმენტს. ფუნქციამ უნდა დააბრუნოს ობიექტი იგივე სტრუქტურით. გამომწვევი ელემენტი DOM კვანძი გადაეცემა მეორე არგუმენტად.
ნება მიეცით ჩამოსაშლელ მენიუს გადატრიალდეს საცნობარო ელემენტზე გადახურვის შემთხვევაში. დამატებითი ინფორმაციისთვის იხილეთ Popper.js-ის Flip Docs .
საზღვარი
სიმებიანი | ელემენტი
'scrollParent'
ჩამოსაშლელი მენიუს გადინების შეზღუდვის საზღვარი. იღებს 'viewport', 'window', 'scrollParent', ან HTMLElement მითითების მნიშვნელობებს (მხოლოდ JavaScript). დამატებითი ინფორმაციისთვის იხილეთ Popper.js-ის preventOverflow docs .
მითითება
სიმებიანი | ელემენტი
"გადართვა"
ჩამოსაშლელი მენიუს საცნობარო ელემენტი. იღებს 'toggle', 'parent', ან HTMLElement მითითების მნიშვნელობებს. დამატებითი ინფორმაციისთვის იხილეთ Popper.js-ის referenceObject docs .
ჩვენება
სიმებიანი
"დინამიური"
ნაგულისხმევად, ჩვენ ვიყენებთ Popper.js-ს დინამიური პოზიციონირებისთვის. გამორთეთ ეს static.
ყველა ჩამოსაშლელი მოვლენა გაშვებულია .dropdown-menu'-ის მშობელ ელემენტზე და აქვს relatedTargetთვისება, რომლის მნიშვნელობა არის გადართვის წამყვანი ელემენტი. hide.bs.dropdownდა hidden.bs.dropdownმოვლენებს აქვთ clickEventთვისება (მხოლოდ მაშინ, როდესაც ორიგინალური მოვლენის ტიპია click), რომელიც შეიცავს მოვლენის ობიექტს დაწკაპუნების მოვლენისთვის.
ღონისძიება
აღწერა
show.bs.dropdown
ეს მოვლენა მაშინვე ირთვება, როდესაც შოუს მაგალითის მეთოდი გამოიძახება.
shown.bs.dropdown
ეს ღონისძიება გააქტიურებულია, როდესაც ჩამოსაშლელი ფაილი მომხმარებლისთვის ხილული გახდება (დაელოდება CSS გადასვლების დასრულებას).
hide.bs.dropdown
ეს ღონისძიება გააქტიურებულია დაუყოვნებლივ, როდესაც გამოიძახება დამალვის მაგალითის მეთოდი.
hidden.bs.dropdown
ეს ღონისძიება გააქტიურებულია, როდესაც ჩამოსაშლელი ფაილი მომხმარებლისგან დამალულია (დაელოდება CSS გადასვლების დასრულებას).