Спадне завантажувальне завантаження Twitter виходить за межі екрана


151

Я хочу реалізувати спадне меню завантажувального закладу twitter, ось мій код:

<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>

Спадне меню працює добре, моє спадне місце розміщується поруч із правою кромкою екрана, і коли я натискаю кнопку переключення, список виходить за межі екрана. Це виглядає як на екрані:

введіть тут опис зображення

Як я можу це виправити?


Правильна відповідь (для початкового завантаження> = у 3.2.0) на це питання буде вирішене тут: stackoverflow.com/questions/23654962 / ... по @cvrebert.
Майкл Труу

Я вважаю, що у вашому коді відсутній тег закінчення: </span>
stealthysnacks

Відповіді:


263

додавання .pull-rightдо ul.dropdown-menuповинен це зробити

Повідомлення про депрекацію : На Bootstrap v3.1.0 .pull-rightу спадному меню застаріле . Щоб вирівняти меню праворуч, використовуйте .dropdown-menu-right.


29
Це зовсім окреме запитання
Дьюейн

14
Ця відповідь насправді не виправляє проблему, якщо користувач використовує якийсь менший екранний пристрій - він виходить з лівої сторони замість правої сторони (адже ви просто змінюєте потяг-наліво на правий-правий).
Анонім

5
Дивіться відповідь krzychu як застарілий Bootstrap.pull-right
Jeroen

1
@HristoEnev мене теж. Ваші спадні місця відійшли від кнопки?
Choylton B. Higginbottom

116

Оскільки додавання Bootstrap v3.1.0 .pull-rightу спадному меню застаріле. А .dropdown-menu-rightслід додати ul.dropdown-menuзамість цього. Документи


10
Навіть при останньому завантажувальному файлі .pull-right працює для мене, і .dropdown-menu-right нічого не робить.
Шейн Грант

Це дійсно працює в Bootstrap 4, за винятком того, що ви додаєте клас .dropdown-menu-right до div.dropdown-menu (не ul)
Тимофій Канський

<ul class="dropdown-menu dropdown-menu-right">працював для мене 4.1.1
dw1

22

Для Bootstrap 4 додавання dropdown-menu-rightробіт. Ось робочий приклад ..

http://codeply.com/go/w2MJngNkDQ


Я спробував усі інші відповіді, - і ця була єдиною, яка працювала і на мене. Я використовую Bootstrap v. 4.1.0.
Зет

14

рішення, яке не потребує зміни HTML лише CSS

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

Це особливо корисно для динамічно генерованих меню, де не завжди можливо додати рекомендований клас dropdown-menu-rightдо останнього елемента


1
це єдине рішення, яке працює для bootstrap 4.0.0
charsi

10

Ви можете використовувати клас .dropdown-pull-rightіз наступним css:

.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 можна використовувати .dropleft

просто змініть на:

<span class="dropleft">

або

додайте .dropdown-menu- {lg, med, sm, xs} -право у спадне меню

<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 занадто низький, але я просто переконався, що батьківський контейнер встановлений на "переповнення: приховано" так (також переконайтеся, що встановлено положення).

<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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.