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

mj-table内容大间距问题求助:邮件排版场景

解决mj-table邮件简报标题下方大间距的方案

Hey there! 我之前在做报纸风格的邮件简报时,也被mj-table里莫名的大间距坑过,尤其是标题下方这种顽固空白,给你几个亲测有效的解决思路:

  • 精准控制单元格内边距
    mj-table的<td>标签默认带有内边距,这很可能是间距的元凶。你可以直接给标题下方内容所在的<td>设置自定义padding,比如把上下内边距压到最小:

    <mj-table>
      <tr>
        <td><!-- 左侧内容 --></td>
        <td style="padding: 0;">
          <mj-text>11 November at 6pm</mj-text>
          <mj-text>你的下方内容...</mj-text>
        </td>
      </tr>
    </mj-table>
    

    如果需要微调,也可以写成padding: 0 10px 5px 0这样的精准数值。

  • 调整文本组件的行高与外边距
    要是标题用<mj-text>实现,它的默认行高或者下方文本的默认上边距可能撑出了空白。你可以给标题加line-height: 1.2(缩小行高),给下方文本加margin-top: 0(去掉默认上边距):

    <mj-text font-size="18px" line-height="1.2">11 November at 6pm</mj-text>
    <mj-text font-size="14px" margin-top="0">紧贴标题的内容</mj-text>
    
  • 用mj-column嵌套优化布局
    有时候纯table单元格的布局限制太多,把右侧内容放进<mj-column>里再塞到<td>中,能更灵活控制间距——毕竟mj-column的默认间距是可以完全自定义的:

    <mj-table>
      <tr>
        <td><!-- 左侧内容 --></td>
        <td>
          <mj-column padding="0">
            <mj-text>11 November at 6pm</mj-text>
            <mj-text margin-top="3px">下方内容</mj-text>
          </mj-column>
        </td>
      </tr>
    </mj-table>
    
  • 排查多余的空白元素
    最后别忘了检查代码里有没有不小心加的<br>、空<p>或者多余的换行符,这些不起眼的东西经常会导致莫名其妙的大间距,删掉它们就好了。

如果试过这些还是有问题,可以把对应部分的mjml代码贴出来,能帮你更精准定位问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 17:53:12