You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS Hover滑块实现问题:蓝色层显示在红色层前方

实现Hover滑块效果的修正方案

要解决蓝色层显示在红色层前方的问题,并实现预期的从右向左滑入效果,需要对CSS做以下调整:

  • 给容器添加overflow: hidden,隐藏超出红色区域的蓝色部分
  • 给红色的.static-content设置z-index: 1,确保它始终在蓝色层上方
  • 调整蓝色层的初始位置为完全偏移到容器右侧,hover时平移回原位实现滑入

修改后的完整CSS代码:

.container {
  position: relative;
  width: 200px;
  height: 100px;
  overflow: hidden; /* 隐藏超出容器的内容 */

  .static-content {
    display: block;
    background-color: red;
    width: 100%;
    height: 100%;
    z-index: 1; /* 让红色层在蓝色层上方 */
    position: relative; /* 配合z-index生效 */
  }

  .overlay {
    position: absolute;
    top: 0;
    left: 0; /* 让蓝色层从容器左侧起始,方便平移控制 */
    background-color: #008CBA;
    height: 100%;
    width: max-content;
    transition: .5s ease;
    transform: translateX(100%); /* 初始完全偏移到容器右侧,隐藏状态 */
  }
}

.container:hover .overlay {
  transform: translateX(0); /* hover时平移回原位,实现滑入效果 */
}

HTML代码保持原结构即可:

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

内容的提问来源于stack exchange,提问作者Franco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:33:01