Как автоматически настроить выпадающий список в панели начальной загрузки, чтобы он не превышал ширину страницы? - PullRequest
1 голос
/ 14 мая 2019

При нажатии в раскрывающемся меню размер раскрывающегося списка превышает ширину страницы и показывает горизонтальную прокрутку.

Помогите мне, как сделать, чтобы выпадающий список автоматически настраивал положение, если правая / левая сторона - это конец страницы без прокрутки (как показано на рисунке ниже)?

Демо: https://codepen.io/ramlals/pen/RmoGEx

enter image description here

Я знаю, что этого можно избежать, дав право на отступ в раскрывающемся меню, но мне нужно поле для автоматической настройки положения. Подобные вопросы в стеке касаются выпадающего меню / размера, но не раскрывающегося списка.

Мой код (пример начальной загрузки) выглядит следующим образом:

 <nav class="navbar navbar-expand-lg navbar-light bg-light">
                <a class="navbar-brand" href="#">Navbar</a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                </button>

                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                  <ul class="navbar-nav ml-auto">
                    <li class="nav-item active">
                      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">Link</a>
                    </li>
                    <li class="nav-item dropdown">
                      <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Dropdown
                      </a>
                      <div class="dropdown-menu w-100" aria-labelledby="navbarDropdown">
                        <a class="dropdown-item" href="#">Action</a>
                        <a class="dropdown-item" href="#">Another action</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Something else here</a>
                      </div>
                    </li>
                  </ul>

                </div>
              </nav>

Заранее спасибо.

1 Ответ

1 голос
/ 14 мая 2019

Это очень просто, вы уже применили позицию: абсолютную для этого элемента div.Теперь просто добавьте еще один стиль в тот же элемент, упомянутый ниже:

left: -60px;

Весь код будет выглядеть следующим образом

@media (min-width: 992px)
.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    left: -60px;
}

Это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...