Выровнять выпадающие элементы по абсолютной позиции

0

Я пытаюсь создать простой Drop Down box, как в Twitter:

https://about.twitter.com/products (Нажмите на элемент языка).

Для этого я использую следующий HTML:

<a href="#language">English</a>
<div class="popup" id="language">
  <ul>
    <li>Portuguese</li>
    <li>English</li>
    <li>French</li>
  </ul>
</div>

ПРИМЕР: http://codepen.io/mdmoura/pen/upIjv.

Я хотел бы:

1 - выпадающие выходы для выравнивания их триггеров ссылок;

2 - Возможность выравнивания по левому краю или правого выравнивания выпадающих списков до их триггеров.

Как я могу это сделать?

Благодарю вас, Мигель

  • 0
    Вам, вероятно, придется реструктурировать HTML ... вы довольны этим?
  • 0
    @Paulie_D, не задавай свой вопрос здесь. Я что-то пропустил? счастливый?
Показать ещё 1 комментарий
Теги:

3 ответа

0

Попробуй это:

$('a').click(function (event) {
    $('.popup').hide();
    var div = $($(this).attr('href'));
    var position = $(this).position();

    $(div).toggle();
    $(div).css({
        'left': position.left,
        'top': position.top + 20
    })
    return false;
});

Демо здесь

0

Для абсолютного позиционирования вам нужно будет переместить всплывающие divs INSIDE в теги

  <a href="#language">English
  <div class="popup" id="language">
    <ul>
      <li>Portuguese</li>
      <li>English</li>
      <li>French</li>
    </ul>
  </div>
  </a>

затем расположите метки a

.wrap a {
  position:relative;
}

Затем поместите всплывающие окна divs

.popup {  
  border: 1px solid red;
  display: inline;
  display: none;
  background-color: #D0D0D0;
  color: #404040;
  position: absolute;
  padding: 0; 
  margin: 0;
  top :100%;
}

Пример Codepen

  • 0
    Поли, это не сработало. Нажмите на учетную запись. Раскрывающийся список не отображается под ним ... Я что-то упустил?
  • 0
    Это работает в Chrome для меня в Codepen. Вы реорганизовали свой HTML и обновили CSS, как я указал?
0

Примените класс 'relative' к вашим триггерам (.popup {position: relative;};) и примените класс абсолютных к выпадающим спискам (.popup ul {position: absolute;}). Затем вы можете перемещать выпадающие списки в пределах триггеров, используя left :, right ;, и т.д.

  • 0
    Не могли бы вы привести пример? Я попробовал что-то похожее на это и не смог заставить его работать. Благодарю вас.
  • 0
    Paulie_D любезно предоставил пример. Конечно, я могу написать для вас код, вам может не понравиться мой почасовой тариф;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню