如何让 元素在表格单元格中尊重列宽并显示水平滚动条-html教程

元素在表格单元格中尊重列宽并显示水平滚动条
" /> 元素在表格单元格中尊重列宽并显示水平滚动条
" /></p> </p><p>在响应式表格中,当 `<pre class="brush:php;toolbar:false;">` 内容超长时,默认会撑开列宽;通过设置 `table-layout: fixed` 并配合 `white-space: pre; overflow-x: auto; width: 100%;`,可强制 `<pre class="brush:php;toolbar:false;">` 严格遵循列宽约束并启用横向滚动。</p><p>要在表格单元格(尤其是弹性宽度列)中让 <pre class="brush:php;toolbar:false;"> 元素既不换行、也不破坏布局,同时提供水平滚动能力,关键在于<strong>控制表格的尺寸计算模型</strong>。默认情况下,浏览器使用 table-layout: auto,它会根据内容动态计算列宽——这正是导致 <pre class="brush:php;toolbar:false;"> 撑开整列、无视 max-width 和 col 宽度声明的根本原因。</p><p>✅ 正确解法:为 <table> 显式设置 </p><pre class="brush:php;toolbar:false;">.table {
table-layout: fixed;
}

table-layout: fixed 启用固定表布局算法:列宽完全由

、

或第一行

的宽度决定,后续单元格内容不再影响列宽。此时,你才能真正让

 尊重父容器(即该列)的可用宽度。</p><p>? 配套 CSS(需作用于 <pre class="brush:php;toolbar:false;"> 或其直接容器):</p><div class="aritcle_card flexRow">
                                                        <div class="artcardd flexRow">
                                                                <a class="aritcle_card_img" href="/ai/2619" title="上班人导航"><img
                                                                                src="https://img.php.cn/upload/ai_manual/001/246/273/176907492092780.png" alt="上班人导航"  onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
                                                                <div class="aritcle_card_info flexColumn">
                                                                        <a href="/ai/2619" title="上班人导航">上班人导航</a>
                                                                        <p>上班人必备的职场办公导航网站</p>
                                                                </div>
                                                                <a href="/ai/2619" title="上班人导航" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
                                                        </div>
                                                </div><pre class="brush:php;toolbar:false;">pre {
  white-space: pre;           /* 禁止换行,保留原始空格与缩进 */
  overflow-x: auto;           /* 超出时显示横向滚动条 */
  width: 100%;                /* 填满父 td 的可用宽度(在 fixed 布局下生效) */
  margin: 0;                  /* 清除默认上下边距,避免高度异常 */
  box-sizing: border-box;     /* 确保 padding 不溢出 width */
}

⚠️ 注意事项:

  • table-layout: fixed 会使所有列宽由第一行(或
    )定义,因此务必确保

    正确声明(如示例中的

    和

    ),且第一行

    不缺失或含干扰性宽内容;

  • 若
     外层有 <div class="my-div">,建议为其添加 min-width: 0;(防止 flex/table 子项最小尺寸限制失效);</li><li>Bootstrap 的 .table-responsive 类对 <table> 本身无 overflow 作用,它仅包裹外层 <div>;本场景中应移除或确保不干扰内部 overflow-x;</li><li>避免同时使用 white-space: pre-wrap(换行)和 overflow-x: auto(滚动),二者语义冲突;只需 pre + auto 即可满足“不换行+可滚动”。</li></ul><p>? 完整修复示例(仅需补充以下两处):</p><pre class="brush:php;toolbar:false;"><!-- 在 table 标签上添加 -->
    <table class="table table-striped mx-auto mt-3" style="max-width: 1024px; table-layout: fixed;">
      <colgroup>
        <col style="width: 100px;" />
        <col /> <!-- 此列将自动占满剩余空间(受 fixed 布局约束) -->
      </colgroup>
      <!-- ...其余结构不变 -->
    </table>
    /* 全局预设(推荐) */
    .table {
      table-layout: fixed;
    }
    
    .table td > div > pre {
      white-space: pre;
      overflow-x: auto;
      width: 100%;
      margin: 0;
      padding: 8px;
      box-sizing: border-box;
      background-color: #1E1E1E;
      color: #DADADA;
    }

    这样,无论

     内容多长,它都严格限制在第二列的动态计算宽度内,并在超出时优雅地显示横向滚动条——完美兼顾布局稳定性与内容可读性。
夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何让 元素在表格单元格中尊重列宽并显示水平滚动条-html教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4009491+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4009491+
  • 本周更新: 0+
  • 最后更新: 2026-03-16