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

如何实现两个不同尺寸<pre>元素并排显示且高度符合预期

问题原因

你用table相关属性模拟布局出现拉伸的核心原因是:display: table-cell 元素默认会和同一行的其他单元格强制等高,这是表格布局的原生规则——同一行所有单元格高度都会对齐到该行最高的单元格,所以左侧内容更短的<pre>会被自动拉伸到和右侧固定高度的<pre>一致,才会出现大量内部空白。
同时你现有CSS存在属性冲突问题:给通用pre选择器写了display: inline、height:10px,后面又给pre加了display: table-cell,属性覆盖逻辑混乱,也会加剧样式异常。

推荐实现方案

直接用Flex弹性布局实现,比模拟表格的写法更简单、易维护,后续新增行或者同行加新的<pre>元素都很方便,完全满足「左侧pre高度适配自身内容、右侧pre保持固定高度」的需求。

修正后的完整代码

CSS部分

<style>
/* 两个pre共用的基础样式 */
pre {
    background: #f4f4f4;
    border: 1px solid #ddd;
    color: #666;
    page-break-inside: avoid;
    font-family: monospace;
    font-size: 15px;
    line-height: 1.6;
    padding: 1em 1.5em;
    word-wrap: break-word;
    border-radius: 1em;
    overflow: auto;
    margin: 0;
}

/* 行容器:用flex实现同行排列 */
.code-row {
    display: flex;
    align-items: flex-start; /* 核心属性:子元素从顶部对齐,不强制等高拉伸 */
    gap: 3vw; /* 控制两个代码块的间距 */
    margin-bottom: 1.6em;
}

/* 左侧pre样式:宽度适配视口,高度自动适配内容 */
pre.code-left {
    border-left: 3px solid #00eeff;
    width: 67vw;
}

/* 右侧pre样式:固定宽度、固定高度,内容超出自动显示滚动条 */
pre.code-right {
    border-left: 3px solid #000efa;
    width: 30vw;
    height: 100px;
}
</style>

HTML部分

<!-- 后续要新增行,直接复制.code-row容器追加即可 -->
<div class="code-row">
    <pre class="code-left">
this is a small text
    </pre>
    <pre class="code-right">
this text takes a lot of
space 
so it needs to be scrolled
ok, some more text
and even more just to make sure
    </pre>
</div>

<!-- 新增行示例
<div class="code-row">
    <pre class="code-left">第二行左侧自适应高度的内容</pre>
    <pre class="code-right">第二行右侧固定高度的内容</pre>
</div>
-->

关键逻辑说明

  • align-items: flex-start是解决拉伸问题的核心:Flex布局默认也会拉伸子元素保持等高,设置该值后子元素会保留自身原有高度,从容器顶部开始对齐,左侧短内容的pre不会被强行拉长
  • 把通用样式和差异化样式拆分,避免同一元素被多个选择器设置重复、冲突属性的问题
  • 用gap控制同行元素间距,比单独给某一个元素加margin更直观,后续调整间距只需要修改容器属性即可
  • 新增行只需要复制.code-row容器放入对应pre元素,不需要额外调整布局逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:30:53