мне нужно создать onhover плавающем меню, которое должно выглядеть примерно так:выпадающей не показывая должным образом (возможно Flexbox проблемы)
Мой коллега уже подготовил кое-что для нашего шаблона по умолчанию, и это отлично работает в этом шаблоне. Однако, должно быть, я что-то изменилось по пути, который влияет на всплывающее меню, потому что один у меня есть на данный момент выглядит следующим образом:
Таким образом, на самом деле не то, что я ищу. Здесь (s) CSS код выпадающей:
.flyout {
position: static !important;
.flyout-menu {
position: absolute;
background: $flyout-background;
left: 0;
top: 80px;
width: 100%;
height: auto;
opacity: 0;
visibility: hidden;
transition: visibility $animation-base, opacity $animation-base;
z-index: 1;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
.nav {
flex-direction: column;
.nav-item {
background: $flyout-background;
}
}
}
}
.flyout:hover {
.flyout-menu {
visibility: visible;
opacity: 1;
}
}
здесь является HTML часть:
<ul class="nav navbar-nav">
<li class="nav-item flyout">
<a class="nav-link" href="#">Shop <i class="fa fa-chevron-down" aria-hidden="true"></i></a>
<div class="flyout-menu">
<div class="col-12 col-lg-4">
<ul class="nav nav-pills nav-stacked">
<li class="nav-item"><a href="#">Schläuche/Zubehör</a></li>
<li class="nav-item"><a href="#">Persönliche Ausrüstung</a></li>
<li class="nav-item"><a href="#">Retten</a></li>
<li class="nav-item"><a href="#">Technische Hilfeleistung</a></li>
</ul>
</div>
<div class="col-12 col-lg-4">
<ul class="nav nav-pills nav-stacked">
<li class="nav-item"><a href="#">Beleuchtung</a></li>
<li class="nav-item"><a href="#">Umweltschutz</a></li>
<li class="nav-item"><a href="#">Magazineinrichtung</a></li>
<li class="nav-item"><a href="#">Dienstleistung/Ausbildungsmaterial</a></li>
</ul>
</div>
<div class="col-12 col-lg-4">
<ul class="nav nav-pills nav-stacked">
<li class="nav-item"><a href="#">Geschenkartikel</a></li>
<li class="nav-item"><a href="#">Brandschutz</a></li>
<li class="nav-item"><a href="#">Hochwasserschutz</a></li>
</ul>
</div>
</div>
</li>
<!-- ... more menu stuff -->
</ul>
Единственное место, где я изменить нав элемент из сферы @media здесь, которая даже не является уместным для flyout-menu
класса:
.main-header {
box-shadow: 0 0 20px #000;
position: relative;
z-index: 200;
background-color: $white-base;
&-inner {
width: 100%;
max-width: $inner-container-narrow;
height: $header-inner-height;
margin: 0 auto;
position: relative;
background-color: $white-base;
z-index: 10;
.nav:not([class="flyout-menu"]) {
position: absolute;
right: 0;
bottom: -20px;
}
}
/* ... */
}
Я попытаюсь воспроизвести его на codepen.io или так, если я могу сделать некоторое время для этого. До тех пор любые идеи?
EDIT
я смог воссоздать его в codepen.io. Я считаю, что коды .flyout-menu
в порядке, потому что если они используются отдельно, без всех других стилей, это работает. Так что это действительно моя вина, я сломал ее где-то, я просто не могу узнать, где.
Вот ручка: http://codepen.io/kerowan/pen/oBVBRq
попробуйте создать пример codepen.io или jsbin .com, так что мы можем помочь вам лучше – melanholly
@melanholly см. edit :) –
@PatrickManser Кажется, что вы пытаетесь не установить абсолютную позицию в своем всплывающем меню. С макетом, который вы пытаетесь достичь, вам не нужно настраивать основную навигацию абсолютно. Если вы закомментируете часть кода, а не селектор, вы увидите, что она начинает вести себя более нормально. – Alsh