html - 无法让我的导航栏下拉菜单“滑动”
问题描述
我试图让我的导航栏下拉菜单在悬停时产生这种向下滑动的效果,但由于某种原因它不起作用,我所做的是让下拉菜单容器绝对定位在导航栏上方并且过渡时间为 600 毫秒,所以当用户将鼠标悬停在链接包装器上 我将下拉菜单放在包装器的正下方,通过过渡它应该给人一种男人实际上从导航滑下来的感觉,但它只是立即出现在那里。
.navbar_link_wrapper:悬停 .navbar_sublinks_container{display:flex; 顶部:100%;}
这是我的完整代码:
.navbar_maincontainer{width:100%; height:50px; background-color:var(--main_color); display:flex; align-items:center; padding:0px 100px; font-family:Open Sans; font-size:17px;}
.navbar_link_wrapper{width:auto; height:100%; position:relative; }
.navbar_link{color:white; font-size:17px; width:100%; height:100%; display:flex; justify-content:center; align-items:center; padding:0px 30px;}
.navbar_link_wrapper:hover{background-color:var(--main_color_shade);}
.active{background-color:var(--main_color_shade);}
.active_sub{background-color:rgba(0,0,0,0.3);}
.navbar_sublinks_container{position:absolute; box-shadow:4px 4px 4px rgba(0,0,0,0.2); width:300px; height:auto; left:0px; top:-700px; transition:all 600ms ease; background-color:#383838; z-index:9999999999; display:none; flex-direction:column;}
.navbar_sublink{padding:0px 15px; height:50px; display:flex; align-items:center; transition:all 600ms ease; color:rgba(255,255,255,0.8); font-size:14px; font-weight:400;}
.navbar_sublink:hover{background-color:rgba(0,0,0,0.3);}
.navbar_sublinks_line{width:100%; border-bottom:1px solid rgba(255,255,255,0.1); height:1px; margin:0 auto;}
.navbar_sublinks_container2{width:100%; height:auto; padding:15px; display:flex; flex-direction:column; align-items: flex-start;}
.navbar_sublinks_title{padding:10px 0px; width:100%; color:white; font-size:13px;}
.navbar_sublink2{ padding:10px 15px; color:rgba(255,255,255,0.8); display:flex; align-items:center; font-size:13px; font-weight:300;}
.navbar_sublink2:hover{color:var(--main_color);}
.navbar_link_wrapper:hover .navbar_sublinks_container{display:flex; top:100%;}
<div class="navbar_maincontainer" style="">
<div class="navbar_link_wrapper {{ $pageInfo['menu_active']=='Inicio' ? 'active' : '' }}">
<a class="navbar_link" href="/" style="" title="Página de inicio">Inicio</a>
</div>
<div class="navbar_link_wrapper {{ $pageInfo['menu_active']=='Clases' ? 'active' : '' }}" style="margin-left:auto;">
<a class="navbar_link" href="/clases" style="" title="Nuestros paquetes de adiestramiento canino en Málaga">Servicios</a>
<div class="navbar_sublinks_container" style=" ">
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Clases a domicilio')active_sub @endif" href="/clases/domicilio" style="">Clases a domicilio</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Clases en grupo')active_sub @endif" href="/clases/grupo" style="">Clases en grupo</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Clases a cachorros')active_sub @endif" href="/clases/cachorros" style="">Clases para cachorros</a>
<div class="navbar_sublinks_line" style=""></div>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Obediencia')active_sub @endif" href="/conductas/obediencia" style="">Obediencia</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Ansiedad')active_sub @endif" href="/conductas/ansiedad" style="">Ansiedad</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Agresividad')active_sub @endif" href="/conductas/agresividad" style="">Agresividad</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Miedo')active_sub @endif" href="/conductas/miedo" style="">Miedo</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Hiperactividad')active_sub @endif" href="/conductas/hiperactividad" style="">Hiperactividad</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Ladridos')active_sub @endif" href="/conductas/ladridos" style="">Ladridos</a>
</div>
</div>
<div class="navbar_link_wrapper @if($pageInfo['menu_active']=='Quienes somos')active @endif" style="">
<a class="navbar_link" href="/quienes-somos" style="" title="Conoce al grupo Costadog">Quienes somos</a>
</div>
<div class="navbar_link_wrapper @if($pageInfo['menu_active']=='Formate con nosotros')active @endif">
<a class="navbar_link" href="/formate-con-nosotros" title="Conviertete en adiestrador canino">Formate con nosotros</a>
<div class="navbar_sublinks_container">
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Formación básica')active_sub @endif" href="/formate-con-nosotros/formacion-basica">Formación básica</a>
<a class="navbar_sublink @if($pageInfo['submenu_active']=='Formación avanzada')active_sub @endif" href="/formate-con-nosotros/formacion-avanzada">Formación avanzada</a>
</div>
</div>
<div class="navbar_link_wrapper @if($pageInfo['menu_active']=='Contactar')active @endif">
<a class="navbar_link" href="/contactar" style="" title="Ponte en contacto con nuestros entrenadores expertos">Contactar</a>
</div>
<div class="navbar_link_wrapper @if($pageInfo['menu_active']=='Testimonios')active @endif">
<a class="navbar_link" href="/testimonios-de-nuestros-clientes" title="Testimonios de nuestros clientes">Testimonios</a>
</div>
<div class="navbar_link_wrapper @if($pageInfo['menu_active']=='Preguntas')active @endif">
<a class="navbar_link" href="/preguntas-y-respuestas" title="Preguntas y respuestas frecuentes">Preguntas</a>
</div>
</div>
解决方案
我注意到你有display: none;
你试图过渡的元素。
这行不通。您将需要使用其他类似visibility
.
例如。
.navbar_sublinks_container {
...
visibility: hidden;
transition: all 600ms ease;
}
这是一个证明这一点的工作小提琴。
推荐阅读
- jenkins - Jenkins pipelineJob DSL 没有解释管道脚本中的变量
- javascript - 未决承诺后 JSON 输入错误意外结束
- haskell - 检查一个数字是否是特殊素数
- c - 在 C 中打印字节,仅将不可打印字符打印为十六进制
- java - 是否可以为tomcat数据源设置多个url
- java - Spring security oauth2 - 在 oauth/token 调用后添加过滤器
- excel - VBA:如何将“产品”下拉 x 行数
- linux - 问题,与 Zip4 扩展有关,将标准输入内容定向到 zip 存档,使用 zip,并使用 zipnotes 更改压缩文件名
- flutter - 链接问题,即使 nm 在库中显示符号也找不到符号
- asp.net-core - 使用 AddScoped 添加的服务是否内部存储在 HttpContext 变量中?