Twitter bootstrap açılır ekranı ekranın dışına çıkıyor


151

Twitter bootstrap açılır menüsünü uygulamak istiyorum, işte benim kodum:

<span class="dropdown"> 
<a href="#menu1" class="dropdown-toggle" data-toggle="dropdown" ><img class="left" src="/static/img/topmenu_preferences.png" /><b class="caret"></b></a>
<ul class="dropdown-menu">
  <li><a href="#">a</a></li>
  <li><a href="#">b</a></li>
  <li><a href="#">c</a></li>
  <li class="divider"></li>
  <li><a href="#">d</a></li>
</ul>

Açılır menü iyi çalışıyor, açılır pencerem ekranın sağ kenarına yerleştirildi ve açılır menüyü açtığımda liste ekranın dışına çıkıyor. Ekrandaki gibi görünüyor:

resim açıklamasını buraya girin

Nasıl düzeltebilirim?


Bu soruya doğru cevap (bootstrap> = v 3.2.0 için) burada çözülmüştür: stackoverflow.com/questions/23654962/… @cvrebert.
Michael Trouw

Kodunuzun bir son span etiketi eksik olduğuna inanıyorum: </span>
stealthysnacks

Yanıtlar:


263

ekleyerek .pull-rightiçin ul.dropdown-menuyapmalı

Kullanımdan Kaldırılma Bildirimi: Bootstrap v3.1.0'dan .pull-rightitibaren açılır menülerde kullanımdan kaldırılmıştır . Bir menüyü sağa hizalamak için tuşunu kullanın .dropdown-menu-right.


29
Bu tamamen ayrı bir soru
Dewayne

14
Kullanıcı daha küçük bir ekran cihazı kullanıyorsa bu cevap aslında sorunu çözmez - sağ taraf yerine sol taraftan dışarı çıkar (aslında sadece sol-sağa çekerek sağa değiştirirsiniz).
İsimsiz

5
Bootstrap.pull-right kullanımdan kaldırıldığı için krzychu cevabını görün
Jeroen

1
@HristoEnev beni de. Açılır listeleriniz düğmeden gitti mi?
Choylton B. Higginbottom

116

Bootstrap v3.1.0 ekleme işlemi .pull-rightaçılır menülerde kullanımdan kaldırılmıştır. Bunun yerine A .dropdown-menu-righteklenmelidir ul.dropdown-menu. Dokümanlar


10
En son bootstrap ile bile .pull-right benim için çalışıyor ve .dropdown-menu-right hiçbir şey yapmıyor.
Shane Grant

Eğer (değil ül) .dropdown menü sağ div.dropdown-menüye sınıf eklemek dışında bu, Bootstrap 4'te gerçekten çalışır
Timothy Kanski

<ul class="dropdown-menu dropdown-menu-right">4.1.1
dw1

22

Bootstrap 4 için dropdown-menu-righteserler ekleme . İşte çalışan bir örnek ..

http://codeply.com/go/w2MJngNkDQ


Diğer tüm cevapları denedim - ve bu benim için de işe yarayan tek cevaptı. Bootstrap v. 4.1.0 kullanıyorum.
Zeth

14

HTML'yi yalnızca CSS'de değiştirmesi gerekmeyen bir çözüm

li.dropdown:last-child .dropdown-menu {
  right: 0;
  left: auto;
}

dropdown-menu-rightSon öğeye önerilen sınıfı eklemenin her zaman mümkün olmadığı dinamik olarak oluşturulan menüler için özellikle yararlıdır


1
Bu bootstrap 4.0.0 için çalışan tek çözüm
charsi

10

Sınıfı .dropdown-pull-rightaşağıdaki css ile kullanabilirsiniz :

.dropdown-pull-right {
  float: right !important;
  right: 0;
  left: auto;
}

.dropdown-pull-right>.dropdown-menu {
  right: 0;
  left: auto;
}
<link href="https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>


<div class="dropdown dropdown-pull-right btn-group">
  <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
  Open Dropdown
  <span class="caret"></span>
  </a>
  <ul class="dropdown-menu">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
</div>


2

Bootstrap 4'te .dropleft kullanabilirsiniz

sadece şuna değiştir:

<span class="dropleft">

veya

açılır menünüze .dropdown-menu- {lg, med, sm, xs} -right ekleyin

<div class="dropdown-menu dropdown-menu-sm-right" aria-labelledby="dropdown03">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
</div>


0

SO seviyem çok düşük olduğu için yorum bırakamıyorum, ancak üst konteynerin "taşma: gizli" olarak ayarlandığından emin oldum (ayrıca konumun ayarlandığından emin olun).

<div style="overflow:hidden;position:relative">
    <span class="dropdown"> 
    <a href="#menu1" class="dropdown-toggle" data-toggle="dropdown" ><img class="left" src="/static/img/topmenu_preferences.png" /><b class="caret"></b></a>
    <ul class="dropdown-menu">
      <li><a href="#">a</a></li>
      <li><a href="#">b</a></li>
      <li><a href="#">c</a></li>
      <li class="divider"></li>
      <li><a href="#">d</a></li>
    </ul>
</div>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.