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

如何让包含p元素的ul更紧凑?解决compact属性无效问题

解决UL列表紧凑显示的问题

首先明确:compact属性早就被HTML标准废弃,现在浏览器完全不支持,加了也不会生效。要让列表变紧凑,得用CSS直接控制间距,核心要处理两个关键点:

  • 每个<li>元素之间的垂直间距
  • <li>内部<p>标签自带的底部外边距(这才是导致列表看起来松散的主要原因)

具体实现步骤

  1. 删掉ul上的compact属性,给ul加一个自定义类名,比如compact-list
  2. 编写CSS样式调整间距:
/* 控制li之间的垂直间距,数值可按需调整 */
.compact-list li {
  margin-bottom: 0.25rem;
}

/* 移除p标签默认的底部外边距,消除li内部的多余空白 */
.compact-list .secondary-content {
  margin-bottom: 0;
}

修改后的完整代码示例

<main id="main-canvas" style="padding-left: 120px">
  <div class="row">
    <div class="row" style="width:100%">
      <div class="col-9" style="padding-left:0px">
        <div class="row">
          <!-- 移除compact属性,添加自定义类compact-list -->
          <ul class="compact-list" style="padding-left:25px">
            <li><b class="content">123: </b>
              <p class="secondary-content">Lorem</p>
            </li>
            <li><b class="content">456</b>
              <p class="secondary-content"> ipsum dolor sit</p>
            </li>
            <li><b class="content">789</b>
              <p class="secondary-content">amet consecituir or something like that I don't know I don't care</p>
            </li>
          </ul>
        </div>
        <div class="row">
          <h3>Some stuff</h3>
        </div>
        <p class="secondary-content">Some secondary content</p>
      </div>
      <div class="col-3">
        <div class="row">
          <h3 id="sidemenu-h">sidemenu</h3>
        </div>
      </div>
    </div>
  </div>
</main>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css">

<style>
.compact-list li {
  margin-bottom: 0.25rem;
}
.compact-list .secondary-content {
  margin-bottom: 0;
}
</style>

你可以根据需求调整margin-bottom的数值,比如改成0就是完全紧贴,调大一点则保留少量空隙。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 16:20:21