Bootstrap açılır eklentisi ile bağlantı listelerini ve daha fazlasını görüntülemek için bağlamsal bindirmeleri açın.
genel bakış
Açılır listeler, bağlantı listelerini ve daha fazlasını görüntülemek için değiştirilebilir, bağlamsal bindirmelerdir. Dahil edilen Bootstrap açılır JavaScript eklentisi ile etkileşimli hale getirilirler. Fareyle üzerine gelinerek değil, tıklatılarak değiştirilirler; bu kasıtlı bir tasarım kararıdır .
Açılır listeler , dinamik konumlandırma ve görünüm alanı algılaması sağlayan Popper.js adlı üçüncü taraf kitaplığı üzerine kuruludur. Popper.min.js dosyasını Bootstrap'ın JavaScript'inden önce eklediğinizden veya Popper.js içeren bootstrap.bundle.min.js/ öğesini kullandığınızdan emin olun . bootstrap.bundle.jsPopper.js, dinamik konumlandırma gerekli olmadığı için gezinme çubuklarındaki açılır menüleri konumlandırmak için kullanılmaz.
WAI ARIA standardı, gerçek bir pencere öğesi tanımlar , role="menu"ancak bu, eylemleri veya işlevleri tetikleyen uygulama benzeri menülere özeldir. ARIA menüleri yalnızca menü öğelerini, onay kutusu menü öğelerini, radyo düğmesi menü öğelerini, radyo düğmesi gruplarını ve alt menüleri içerebilir.
Bootstrap'in açılır listeleri ise genel olacak ve çeşitli durumlara ve işaretleme yapılarına uygulanabilir olacak şekilde tasarlanmıştır. Örneğin, arama alanları veya oturum açma formları gibi ek girdiler ve form kontrolleri içeren açılır menüler oluşturmak mümkündür. Bu nedenle Bootstrap, gerçek ARIA menüleri için gerekli roleand aria-özniteliklerinin hiçbirini beklemez (veya otomatik olarak eklemez) . Yazarların bu daha spesifik özellikleri kendilerinin dahil etmesi gerekecektir.
.dropdown-itemAncak Bootstrap , imleç tuşlarını kullanarak tek tek öğeler arasında hareket etme ve tuşla menüyü kapatma gibi çoğu standart klavye menüsü etkileşimi için yerleşik destek ekler ESC.
Örnekler
Açılır menünün geçişini (düğmeniz veya bağlantınız) ve içindeki açılır menüyü .dropdownveya bildiren başka bir öğeyi sarın position: relative;. Potansiyel ihtiyaçlarınıza daha iyi uyması için açılır öğeler <a>veya öğelerden tetiklenebilir .<button>
Tek düğme
Herhangi bir single .btn, bazı biçimlendirme değişiklikleriyle açılır bir geçişe dönüştürülebilir. Bunları her iki öğeyle de nasıl çalıştırabileceğiniz aşağıda açıklanmıştır <button>:
Benzer şekilde, tek düğmeli açılır menülerle hemen hemen aynı işaretlemeyle, ancak .dropdown-toggle-splitaçılır düzeltme işaretinin etrafına uygun boşluk eklenmesiyle bölünmüş düğme açılır listeleri oluşturun.
Bu ekstra sınıfı padding, düzeltme işaretinin her iki tarafındaki yatay çizgiyi %25 oranında azaltmak ve margin-leftnormal düğme açılır menüleri için eklenenleri kaldırmak için kullanıyoruz. Bu ekstra değişiklikler, düzeltme işaretini bölme düğmesinin ortasında tutar ve ana düğmenin yanında daha uygun boyutta bir vuruş alanı sağlar.
Tarihsel olarak açılır menü içerikleri bağlantılar olmak zorundaydı , ancak artık v4'te durum böyle değil. Artık, açılır listelerinizde yalnızca s <button>yerine öğeleri isteğe bağlı olarak kullanabilirsiniz .<a>
ile etkileşimli olmayan açılır öğeler de oluşturabilirsiniz .dropdown-item-text. Özel CSS veya metin yardımcı programları ile daha fazla stil vermekten çekinmeyin.
Varsayılan olarak, bir açılır menü otomatik olarak üst öğesinin üst kısmından ve sol tarafında %100 olarak konumlandırılır. .dropdown-menu-righta'ya ekle .dropdown-menuaçılır menüyü sağa hizalayın.
Önüne bak! Açılır listeler Popper.js sayesinde konumlandırılır (bir gezinme çubuğunda bulunmaları dışında).
Duyarlı hizalama
Duyarlı hizalamayı kullanmak istiyorsanız, data-display="static"özniteliği ekleyerek dinamik konumlandırmayı devre dışı bırakın ve duyarlı varyasyon sınıflarını kullanın.
Açılır menüyü verilen veya daha büyük kesme noktasıyla sağa hizalamak için ekleyin .dropdown-menu{-sm|-md|-lg|-xl}-right.
Açılır menüyü verilen kesme noktası veya daha büyük bir değerle sola hizalamak için .dropdown-menu-rightve ekleyin .dropdown-menu{-sm|-md|-lg|-xl}-left.
Herhangi bir serbest biçimli metni, metin içeren bir açılır menüye yerleştirin ve boşluk bırakma yardımcı programlarını kullanın . Menü genişliğini sınırlamak için muhtemelen ek boyutlandırma stillerine ihtiyacınız olacağını unutmayın.
.showVeri öznitelikleri veya JavaScript aracılığıyla, açılır eklenti, sınıfı üst liste öğesinde değiştirerek gizli içeriği (açılır menüler) değiştirir . Bu data-toggle="dropdown"öznitelik, uygulama düzeyinde açılır menüleri kapatmak için kullanılır, bu nedenle her zaman kullanmak iyi bir fikirdir.
Dokunmatik özellikli cihazlarda, bir açılır listenin açılması, öğenin en yakın alt öğelerine boş ( $.noop) mouseoverişleyiciler ekler <body>. Bu kuşkusuz çirkin hack, iOS'un olay delegasyonundaki bir tuhaflığı gidermek için gereklidir; aksi takdirde, açılır listenin dışındaki herhangi bir yere dokunmanın, açılır menüyü kapatan kodu tetiklemesini engeller. Açılır menü kapatıldığında, bu ek boş mouseoverişleyiciler kaldırılır.
Veri öznitelikleri aracılığıyla
data-toggle="dropdown"Bir açılır liste arasında geçiş yapmak için bir bağlantıya veya düğmeye ekleyin .
JavaScript aracılığıyla
JavaScript aracılığıyla açılır listeleri arayın:
data-toggle="dropdown"hala gerekli
Açılır listenizi JavaScript aracılığıyla aramanıza veya bunun yerine data-api'yi kullanmanıza bakılmaksızın, açılır data-toggle="dropdown"listenin tetikleyici öğesinde her zaman bulunması gerekir.
Seçenekler
Seçenekler, veri öznitelikleri veya JavaScript aracılığıyla iletilebilir. Veri öznitelikleri için, seçenek adını olduğu data-gibi ekleyin data-offset="".
İsim
Tip
Varsayılan
Tanım
telafi etmek
sayı | dize | işlev
0
Açılan listenin hedefine göre ofseti.
Ofseti belirlemek için bir fonksiyon kullanıldığında, ilk argümanı olarak ofset verilerini içeren bir nesne ile çağrılır. İşlev, aynı yapıya sahip bir nesne döndürmelidir. Tetikleyici öğe DOM düğümü, ikinci argüman olarak iletilir.
Referans öğesinde çakışma olması durumunda Açılır Menünün çevrilmesine izin verin. Daha fazla bilgi için Popper.js'nin flip docs'ına bakın .
sınır
dize | eleman
'kaydırmaEbeveyn'
Açılır menünün taşma kısıtlaması sınırı. 'viewport', 'window', 'scrollParent', veya bir HTMLElement başvurusunun değerlerini kabul eder (yalnızca JavaScript). Daha fazla bilgi için Popper.js'nin önlemeOverflow belgelerine bakın .
referans
dize | eleman
'geçiş'
Açılır menünün referans öğesi. 'toggle', 'parent', veya bir HTMLElement başvurusunun değerlerini kabul eder . Daha fazla bilgi için Popper.js'nin ReferenceObject belgelerine bakın .
Görüntüle
sicim
'dinamik'
Varsayılan olarak, dinamik konumlandırma için Popper.js kullanıyoruz. ile devre dışı bırakın static.
popperConfig
boş | nesne
hükümsüz
Bootstrap'in varsayılan Popper.js yapılandırmasını değiştirmek için Popper.js'nin yapılandırmasına bakın
boundarydışında herhangi bir değere ayarlandığında 'scrollParent', stilin kaba position: staticuygulandığına dikkat edin ..dropdown
yöntemler
Yöntem
Tanım
$().dropdown('toggle')
Belirli bir gezinme çubuğunun veya sekmeli gezinmenin açılır menüsünü değiştirir.
$().dropdown('show')
Belirli bir gezinme çubuğunun veya sekmeli gezinmenin açılır menüsünü gösterir.
$().dropdown('hide')
Belirli bir gezinme çubuğunun veya sekmeli gezinmenin açılır menüsünü gizler.
$().dropdown('update')
Bir öğenin açılır listesinin konumunu günceller.
$().dropdown('dispose')
Bir öğenin açılır menüsünü yok eder.
Olaylar
Tüm açılır olaylar, .dropdown-menu'nin üst öğesinde tetiklenir ve relatedTargetdeğeri, geçiş yapan bağlantı öğesi olan bir özelliğe sahiptir. hide.bs.dropdownve hidden.bs.dropdownolayların , click olayı için bir Olay Nesnesi içeren bir clickEventözelliği vardır (yalnızca orijinal olay türü ).click
Etkinlik
Tanım
show.bs.dropdown
Bu olay, gösteri örneği yöntemi çağrıldığında hemen tetiklenir.
shown.bs.dropdown
Bu olay, açılır menü kullanıcıya görünür hale getirildiğinde tetiklenir (CSS geçişlerinin tamamlanmasını bekler).
hide.bs.dropdown
Bu olay, örnek gizleme yöntemi çağrıldığında hemen tetiklenir.