CSS悬停滑块-无法完成

e4eetjau  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(108)

我想做以下悬停滑块:

当鼠标悬停在红色部分上时,蓝色部分应该从左向右滑动。它应该从红色部分的右侧滑动,并且不显示(IidoEe.应该滑到红色部分后面)。蓝色部分最初应该隐藏在红色部分后面,根本不应该显示。蓝色部分会比红色部分大,所以必须用溢出或其他东西隐藏。不应有不透明度过渡,但其他过渡是可接受的
这是我目前所掌握的情况:
超文本:

<div class="container">
  <div class="static-content">
  </div>
  <div class="overlay">
    OverLay Content - this will be some text
  </div>
</div>

CSS:

.container {
  position: relative;
  width: 200px;
  height: 100px;

  .static-content {
    display: block;
    background-color: red;
    width: 100%;
    height: 100%;
  }

  .overlay {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #008CBA;
    height:100%;
    width: max-content;
    transition: .5s ease;
  }
}

.container:hover .overlay {
  transform: translateX(100%);
  height: 100%;
}

问题是蓝色部件在红色部件前面。

ttygqcqt

ttygqcqt1#

将其添加到.overlay元素z-index: -1;中,使其位于红色div后面
如果红色的div比较小,所以不能全部隐藏,那么你可以在你想隐藏的部分使用透明的彩色div,因为你不想用溢出来隐藏

yc0p9oo0

yc0p9oo02#

你可以给予你的蓝色div样式一个z轴索引,把它放在红色的下面,如下所示:

.overlay {
      position: absolute;
      z-index: -1;
      top: 0;
      right: 0;
      background-color: #008CBA;
      height:100%;
      width: max-content;
      transition: .5s ease;
    }

相关问题