Django激活邮件中justify-content属性丢失致内容无法居中
问题解决:HTML邮件中
justify-content:center属性丢失 原因分析
多数邮件客户端(如Outlook、Gmail)对CSS flex布局的支持非常有限,尤其是旧版本客户端会直接忽略justify-content这类flex专属样式,这就是属性丢失的核心原因。
替代方案
受邮件渲染兼容性限制,建议放弃flex布局,改用更通用的传统方式实现居中:
方案1:使用text-align:center(针对文本居中)
直接给header标签添加text-align:center,这是所有邮件客户端都支持的居中方式:
<header style="margin-bottom: 20px; font-size: 20px; text-align: center;">...</header>
方案2:使用margin:auto(针对块级元素居中)
如果header内包含块级子元素,可给子元素设置左右margin自动:
<header style="margin-bottom: 20px; font-size: 20px;"> <div style="margin-left: auto; margin-right: auto; width: fit-content;">...</div> </header>
方案3:使用表格布局(最兼容的邮件布局方式)
邮件开发的通用准则是用表格做布局,兼容性拉满:
<table width="100%" style="margin-bottom: 20px;"> <tr> <td align="center" style="font-size: 20px;">...</td> </tr> </table>
额外提示
- 邮件CSS必须使用内联样式,避免外部样式表或
<style>标签,多数客户端会过滤非内联样式 - 提前用邮件兼容性测试工具(如Mailtrap)排查渲染问题,避免上线后出现显示异常
内容的提问来源于stack exchange,提问作者some nooby questions
相关产品推荐
相关产品推荐

