css 当我有空格时,如何在悬停时保持div可见?

j5fpnvbx  于 2023-05-02  发布在  其他
关注(0)|答案(2)|浏览(115)

我对hover out有问题。当我试图悬停子div时,它消失了。
我希望这两个div之间的空间在我的小提琴。这是我的小提琴:
https://jsfiddle.net/rc4tpug6/1/

<div class='user-data'>
bbbbb
    <div class='test'>
        aaaa
    </div>
</div>

我的问题是,当我试图悬停在“aaa”上时,它会消失,因为它和父对象之间有空间,但我需要那个空间。

lstz6jyr

lstz6jyr1#

这是因为top:30px设置导致两个div之间存在间隙。
将其更改为顶部:100%

.user-data {
  position: relative;
  padding-bottom:1em;
}
.test {
  display: none;
  position: absolute;
  top: 100%;
  border: 1px solid black;
}
.user-data:hover .test {
  display: block;
      }
<div class='user-data'>
  bbbbb
  <div class='test'>
    aaaa
  </div>
</div>

如果需要两个分区之间的额外间距,请将padding-top添加到子元素或padding-bottom添加到父元素。

wlsrxk51

wlsrxk512#

如果不能应用填充,则可以在伪元素的帮助下完成此操作。不确定这是否适用于所有场景。

.user-data{
  position:relative;
}
.test{
  display:none;
  position:absolute;
  top:30px;
  border:1px solid black;
}
.test::before{
  content: "";
  height: 20px;
  width: 100%;
  position: absolute;
  top: -20px;
  left: 0;
}
.user-data:hover .test{
  display:block;
 
}
<div class='user-data'>
  bbbbb
    <div class='test'>
        aaaa
    </div>
</div>

相关问题