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

给列表添加overflow:auto后列表项宽度异常缩小的问题求助

问题解决:overflow:auto导致列表项宽度异常缩小

问题原因

你的.list是flex容器,默认情况下flex项目的flex-shrink属性值为1,当容器空间不足时,项目会自动收缩以适应容器宽度。加上你给.list设置了固定宽度400px !important,而内部.list-id(220px)加上.featured-products的总宽度(3个200px共600px)远超过400px,所以.list-id被压缩了。

解决方案

1. 阻止.list-id收缩

给.list-id添加flex-shrink: 0,强制它保持设置的宽度:

.list-id {
  height: 100%;
  width: 220px;
  padding: 30px 0 0 30px;
  box-sizing: border-box;
  flex-shrink: 0; /* 新增这一行 */
}

2. 修复HTML语义化问题(可选但推荐)

HTML规范中<ul>不能直接作为另一个<ul>的子元素,应该把.featured-products放在<li>里面:

<ul class="list">
  <li class="list-id">
    <h3 class="list-title">Products</h3>
    <p class="list-description">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
  </li>
  <!-- 修复嵌套结构 -->
  <li>
    <ul class="featured-products">
      <li class="product"></li>
      <li class="product"></li>
      <li class="product"></li>
    </ul>
  </li>
</ul>

这样修改后,.list-id就能保持220px的宽度,同时容器的overflow:auto会正常显示横向滚动条来容纳超出的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:57:36