【发布时间】:2020-08-27 03:00:05
【问题描述】:
我想用MJML 制作一个响应式电子邮件模板,它在大多数电子邮件呈现客户端上看起来都不错,但是(当然)Outlook 2003 的做法有所不同,如图所示: Outlook 2003 同时呈现移动版和桌面版。
完整的代码在这里,你可以在这里尝试:https://mjml.io/try-it-live/Bk5Gu1w9L
<mjml owa="desktop">
<mj-head>
<mj-breakpoint width="320px" />
<mj-style>
@media screen and (max-width:320px) {
.show_on_desktop td{
display: none !important;
}
}
@media screen and (min-width:321px) {
.show_on_mobile td{
display: none !important;
}
}
.show_on_mobile td {
mso-hide: all;
font-size: 0;
max-height: 0;
line-height: 0;
}
</mj-style>
</mj-head>
<mj-body>
<mj-raw><!--[if !mso]><\!--></mj-raw>
<mj-section>
<mj-column css-class="show_on_mobile">
<mj-image src="https://www.ecom-ex.com/fileadmin/user_upload/images/products/one-pager/gallery/ex-handy_10_dz1dz2/ex-handy_10_dz1_teaser_1.png"></mj-image>
<mj-text>show on mobile</mj-text>
</mj-column>
</mj-section>
<mj-raw><!-- <![endif]--></mj-raw>
<mj-section>
<mj-column css-class="show_on_desktop">
<mj-image src="http://c64os.com/resources/c64c-system.jpg"></mj-image>
<mj-text>show on desktop</mj-text>
</mj-column>
</mj-section>
</mj-body>
</mjml>
渲染是通过EmailOnAcid 测试的,它不提供免费帐户来玩。
我们尝试了许多版本,这是迄今为止最好看的版本,但 Outlook 2003(和其他一些版本)显示的结果并非我们希望的那样。
我们正在讨论忽略一些旧客户端作为 Outlook 2003,但解决方案而不是忽略它会非常好。
【问题讨论】:
-
据我了解,MTML 是在 2016 年推出的。为什么您认为 Outlook 2003 能够处理它?
-
@TonyDallimore - MJML 是一种设计响应式电子邮件的方法。看看mjml.io - 输出是纯html,没有别的。
-
我大约三年没有使用 Outlook 2003。我不记得它支持的 HTML 版本正在更新。 MJML 是否将自身限制为 HTML 的早期版本?有些网站会告诉您每个浏览器和电子邮件包支持的 HTML 版本。他们可能会让您了解给您带来问题的标签。
-
@TonyDallimore Outlook 不支持
display:none,这就是为什么你必须解决问题,就像我在上面所做的那样。但与其他 Outlook 版本一样,此 Outlook 版本无法正确呈现。我不是说,我必须在最后把它弄对,但如果是的话,那就太好了。使用这个非常老的客户端的其他用户将看到两次内容。请看看 MJML 做了什么,你的问题让我想想,你还不知道。 -
@TonyDallimore 两个站点:caniuse.emailcaniemail.com
标签: email outlook responsive-design mjml