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

带悬停动画的Div容器垂直滚动区域实现失败,求技术帮助

解决垂直滚动容器失效问题

可能的问题点及解决方案

  • 内层元素样式干扰:如果.container或.fancy_card使用了float、position:absolute这类属性,会导致外层滚动容器无法正确计算内部总高度,滚动逻辑失效。可以给外层滚动容器添加display: flex; flex-direction: column;,或者给.container添加清除浮动的样式。
  • 宽高计算未包含内边距/边框:若内层元素有padding或border,默认会超出容器设定的宽高范围,导致滚动异常。给所有相关元素添加box-sizing: border-box;,让内边距和边框纳入元素自身的宽高计算。
  • 内容总高度未达容器限制:overflow-y:auto仅在内部内容总高度超过容器设定高度时才会显示滚动条,你当前代码仅有一个卡片,自然不会触发滚动,需添加多个卡片测试。

修正后的代码示例

<!-- 全局样式重置,消除默认边距干扰 -->
<style>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.fancy_card {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
}
.fancy_card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.title {
  font-size: 16px;
  margin-bottom: 4px;
}
.summary {
  font-size: 14px;
  color: #666;
}
</style>

<!-- 滚动容器 -->
<div style="width: 300px; height: 100px; overflow-y:auto; border:1px solid #ccc;">
  <div class="container">
    <div class="fancy_card">
      <div class="card_text">     
        <h3 class="title">标题1</h3>
        <div class="summary">
          内容1内容1内容1内容1
        </div>
      </div>
    </div>
    <div class="fancy_card">
      <div class="card_text">     
        <h3 class="title">标题2</h3>
        <div class="summary">
          内容2内容2内容2内容2
        </div>
      </div>
    </div>
    <div class="fancy_card">
      <div class="card_text">     
        <h3 class="title">标题3</h3>
        <div class="summary">
          内容3内容3内容3内容3
        </div>
      </div>
    </div>
  </div>
</div>

关键说明

  • 全局box-sizing: border-box确保所有元素的宽高计算包含内边距和边框,避免内容溢出容器。
  • .fancy_card设置了间距和hover动画,满足你对卡片样式的需求。
  • 外层滚动容器固定高度为100px,内部3个卡片总高度超过该值时,自动触发垂直滚动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:15:44