需要我的div下拉菜单,以便在不悬停时隐藏文本

时间:2013-05-14 18:54:15

标签: html css drop-down-menu menu transition

我正在尝试使用div进行下拉菜单。 div的过渡很好,一切都很好。但我不知道当我不徘徊时,如何获取下拉区域中的文本?

Html代码。并没有多少,但它应该下降。我不希望菜单只隐藏在它下面写的文字。

<div class="dropdown">Menu
    <br/>Games
    <br/>Food 
    </div>

CSS代码。转型和所有。

div.dropdown
{
    position:absolute;
    width:920px;
    height:20px;
    top:110px;
    left:50%;
    margin-left:-460px;
    z-index:1;
    background-color:gray;
    -webkit-transition: height 2s ease;
    background:black;
    text-align:center;
    color:White;
}

div.dropdown:hover
{
    height: 45px;
    -webkit-transition: height 0.1s ease;
}

2 个答案:

答案 0 :(得分:1)

您可以使用css:

overflow: hidden;

在.dropdown类中。

这将允许您隐藏在元素边界之外显示的所有内容。

here's a fiddle

答案 1 :(得分:0)

更改您的html,以便您的下拉项目位于div内的有序列表<ul>

添加一些css,以便通常隐藏列表

div.dropdown ul{
   display:none;
}
div.dropdown ul:hover{
   display: block;
}

此外,删除下拉列表中的现有高度限制。

然后使用一些JavaScript / jQuery在您将鼠标悬停在菜单上时显示列表

$('div.dropdown, div.dropdown ul').on('hover', function(){
   $('div.dropdown ul').show();
}
$('div.dropdown, div.dropdown ul').on('mouseleave', function(){
   $('div.dropdown ul').hide();
}