Анимация выпадающего меню Bootstrap 4 - PullRequest
0 голосов
/ 25 апреля 2018

Родной способ, которым выпадающий список будет загружаться в bootstrap (4.0), не анимирован. Как сделать так, чтобы он «открывался», как это делает панель навигации в свернутом виде?

Стоит отметить, что выпадающий список находится внутри панели навигации. Смотрите ниже codeply; https://www.codeply.com/go/JKj5onR3ug

<nav class="navbar navbar-dark bg-dark">
  <a class="navbar-brand" href="#">Never expand</a>
  <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarsExample01" aria-controls="navbarsExample01" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="navbar-collapse collapse" id="navbarsExample01" style="">
    <ul class="navbar-nav mr-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">
        <a class="nav-link disabled" href="#">Disabled</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
        <div class="dropdown-menu" aria-labelledby="dropdown01">
          <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>
      </li>
    </ul>
  </div>
</nav>

Ответы [ 3 ]

0 голосов
/ 25 апреля 2018

Самый простой способ - использовать «коллапс» для его переключения вместо «выпадающего».Тогда вам просто нужно немного CSS, чтобы он отображался при активной анимации collapsing.Также обратите внимание, что position-relative установлен на dropdown-menu.

.dropdown-menu.collapsing {
    display:block;
}

Попробуйте на Codeply

"Раскрывающиеся позиции размещаются благодаря Popper.js (кроме случаев, когда они содержатся в навигационной панели)."

Поскольку раскрывающиеся страницы внутри навигационной панели расположены по-разному Вот еще один пример использования стандартных выпадающих кнопок: https://www.codeply.com/go/vJhVEh9Okd


Альтернативой является использование одного из методов анимации выпадающего меню Bootstrap 3.x .

0 голосов
/ 16 октября 2018

Вот как я сделал анимацию выпадающего меню с использованием чистого CSS, используя transform: scale:

Стиль SCSS

.dropdown {
    .dropdown-menu {
        transition: all 0.5s;
        overflow: hidden;
        transform-origin: top center;
        transform: scale(1,0);
        display: block;
    }
    &:hover {
        .dropdown-menu {
            transform: scale(1);
        }
    }
}

Проверьте демо на Codepen

0 голосов
/ 25 апреля 2018

Вы должны переопределить CSS для выпадающего списка.Используйте эту CSS.

.dropdown-menu {
    display: block;
}

.navbar-nav .dropdown-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s;
}

.navbar-nav .dropdown-menu.show {
    max-height: 500px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...