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

是否存在Gmail、Outlook支持的display: grid替代方案?

问题结论

首先目前绝大多数主流邮件客户端均不支持display: grid全量属性,不存在可直接替代grid同时兼容全邮件端的CSS方案,唯一通用的实现方式是使用原生HTML嵌套表格还原布局。

实现思路

你提供的grid布局可拆解为3级行结构,完全可以用表格实现等宽效果:

  • 第一行拆分2列,宽度占比为15:5,对应原布局的黑色、红色区块
  • 第二行拆分3列,宽度占比为3:4:3,对应原布局的绿色、灰色、蓝色区块
  • 第三行拆分2列,宽度占比为10:10,对应原布局的黄色、紫色区块
    原布局的10px间距可以通过空白单元格、td的padding属性实现,行高要求可通过td的height属性配置。
兼容邮件端的完整代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 邮件端通用viewport设置 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="margin:0;padding:0;">
<!-- 外层总表格,cellspacing直接对应原布局gap属性 -->
<table width="100%" border="0" cellpadding="0" cellspacing="10" style="border-collapse: separate;">
  <!-- 第一行:黑+红 -->
  <tr>
    <td width="75%" height="240px" bgcolor="black" style="color:#fff;">One</td>
    <td width="25%" height="240px" bgcolor="red">Two</td>
  </tr>
  <!-- 第二行:绿+灰+蓝 -->
  <tr>
    <td width="30%" height="90px" bgcolor="green">Three</td>
    <td width="40%" height="90px" bgcolor="gray">text</td>
    <td width="30%" height="90px" bgcolor="blue">Four</td>
  </tr>
  <!-- 第三行:黄+紫 -->
  <tr>
    <td width="50%" height="150px" bgcolor="yellow">Five</td>
    <td width="50%" height="150px" bgcolor="purple">Six</td>
  </tr>
</table>
</body>
</html>

注:上述代码中的高度是根据你原grid设置的行高换算得出,可根据实际内容调整数值,兼容性覆盖99%以上的邮件客户端。

额外注意事项
  • 邮件端HTML不建议使用任何CSS Grid、Flex相关属性,所有布局优先用表格实现
  • 所有样式尽量写内联,不要用head里的class选择器,部分邮件客户端会过滤头部样式
  • 固定间距优先用空白单元格或者cellpadding/cellspacing属性,比CSS margin兼容性更好

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:42:00