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

Gmail剥离RTL方向指令:如何让HTML邮件正确显示RTL?

Gmail中RTL邮件显示异常的原因及解决方法

问题原因

  1. Gmail的HTML过滤机制会主动移除<html>、<body>标签上的dir="rtl"属性,同时丢弃<style>标签内定义的direction:rtl、text-align:right等RTL相关样式,仅保留有限的内联样式和特定标签属性。
  2. 非内联的RTL样式(比如外部样式表、内部样式块)几乎都会被Gmail的解析器过滤掉,无法生效。
  3. 若未使用Gmail兼容的布局标签(如邮件开发常用的<table>),仅在普通块级标签上设置RTL属性,也可能被解析器处理后失效。

解决方法

  • 内联RTL属性和样式到每个内容标签:不要仅在<html>或<body>上设置dir="rtl",而是直接在每个包含RTL文本的<p>、<div>或<span>上同时添加dir="rtl"属性和内联样式,示例:
    <p dir="rtl" style="direction: rtl; text-align: right; margin: 0;">这是RTL文本</p>
    
  • 使用<table>布局并在单元格上设置RTL:邮件开发推荐用<table>做布局,在<td>标签上设置RTL属性和样式,Gmail对表格标签的支持更稳定,示例:
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td dir="rtl" style="direction: rtl; text-align: right; padding: 10px;">这是表格内的RTL文本</td>
      </tr>
    </table>
    
  • 配合lang属性增强识别:在RTL文本标签上添加对应语言的lang属性(如阿拉伯语lang="ar"、希伯来语lang="he"),帮助Gmail准确识别文本方向,示例:
    <p dir="rtl" lang="ar" style="direction: rtl; text-align: right;">مرحبا بالعالم</p>
    
  • 彻底放弃非内联样式:所有RTL相关样式必须直接写在元素的style属性中,不要用外部样式表或<style>块定义,避免被Gmail过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:52:07