首页 > 解决方案 > Css悬停和元素之间的空间

问题描述

我尝试让一个 div 出现在悬停时,但是当在悬停的线和显示的元素之间放置一个空格(边距)时,当我的指针位于两个 div 之间时,我的悬停状态就会消失。

#dropdown {
    text-align: center;
}  

#dropdown .sub-menu{
    visibility: hidden;
    position: absolute;
    background-color: black;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 250px;
    margin-top: 30px;
}

#dropdown:hover .sub-menu{
    visibility: visible;
}



#dropdown .sub-menu ul{
    display: flex;
    flex-direction: column; 
}
<div id="dropdown">
  <div id="menu-user-titre"> 
    <span>Hover me</span>
  </div>
  <div class="sub-menu">
    <ul>
      <li><a href="">hello</a></li>
    </ul>
  </div>
</div>

我怎样才能保持空间和悬停?

谢谢 !

标签: htmlcsshover

解决方案


你应该删除这行#dropdown .sub-menu

margin-top: 30px;

添加

#menu-title{
  padding-bottom:30px;
}

填充是#mwnu-title 元素的子集。

HTML:

    <div id="dropdown">
        <div id="menu-title"> 
            <span>Hover me</span>
        </div>
        <div class="sub-menu">
            <ul>
                <li><a href="">hello</a></li>
            </ul>
        </div>
  </div>

风格:

#dropdown {
    text-align: center;
}


#dropdown .sub-menu{
    visibility: hidden;
    position: absolute;
    background-color: black;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 250px;
    
}

#dropdown:hover .sub-menu{
    visibility: visible;
}





/* OTHER */

#dropdown .sub-menu ul{
    display: flex;
    flex-direction: column; 
}

#menu-title{
  padding-bottom:30px;
}

推荐阅读