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
相关产品推荐
相关产品推荐

