【问题标题】:mobile css not working for html email移动 CSS 不适用于 html 电子邮件
【发布时间】:2013-08-01 19:25:38
【问题描述】:

我正在创建一个我认为简单的 html 电子邮件签名。设计并不复杂,但在 iPhone 邮件应用程序上它就坏了。

它应该是这样的:http://entecinc.com/email-signature/index-inline.html 它适用于我测试过的桌面电子邮件客户端。

我试过 -webkit-text-size-adjust: none;内联应用于所有元素,但无论出于何种原因,这似乎都不起作用。

我也试过 display:none !important;到围绕图像的所有元素,包括图像,尽管它仍然显示在电子邮件中。

我应该以不同于我的方式应用这些移动 CSS 规则的某种方式吗?

不确定这是否相关,但我正在测试将 Outlook 发送到 iPhone 4 上在苹果邮件中打开的 gmail 帐户。

【问题讨论】:

    标签: css mobile html-email


    【解决方案1】:

    您首先需要知道的是,Gmail 将始终从您的电子邮件中完全删除您的 CSS 样式。它只会理解精确的 INLINE 样式,即使这样,它在某些条件下也会出现一些问题。

    例如:

    1- 不允许使用黑色链接,您需要使用#000001,否则 Gmail 会将这些链接呈现为蓝色。

    2- Gmail 会在任何图像周围添加空格,除非您指定它们显示为块元素。显示:块;

    3- 消息对话中的冗余文本将呈现为紫色,除非您再次指定文本的颜色为 #000001。

    4- Gmail 将完全废弃您电子邮件的 Head 元素,因此您不能以这种方式指定样式。

    5- 目前,Gmail 不能被视为“响应式”。根据我的测试,Outlook.com 和 Apple Mail 是唯一可以在电子邮件中优雅地显示移动样式的邮件客户端。

    【讨论】:

    • 我遇到的问题是在移动设备上调整文本大小。根据我的阅读,-webkit-text-size-adjust: none;应该覆盖文本大小调整问题,并且可能会解决我的问题,但它似乎对我不起作用。我想知道是否有某种方式我应该应用该 CSS。我已将它内联应用于所有元素,但它仍然不起作用。
    • 这张图表应该对你有所帮助:Campaign Monitor 它说明了每个普通邮件客户端都可以接受哪些 CSS 属性。此外,将 html 电子邮件从一个邮件客户端转发到另一个邮件客户端通常会弄乱您的代码。
    • 使用this chart 获得响应式媒体查询支持
    【解决方案2】:

    你能描述一下什么是真正的“破坏”或附上手机的屏幕截图(同时按下主页按钮和开关按钮)。我在移动电子邮件优化方面有经验,如果我能理解实际出现问题的情况,我相信我能够回答你的问题。我会尝试将您的代码表单 Outlook 发送到我的手机,但我有一个运行 ios7 的 iPhone,它可能看起来还不错。

    编辑: 在没有实际测试您的代码的情况下,我发现您的媒体查询不正确。

    你有: @media only screen and (max-device-width: 480px)

    尝试: @media only screen and (max-width: 480px)

    我不确定这是否是您所需要的,但是当我调整窗口大小时,它在浏览器中工作。

    编辑:

    这是它在我的手机上的外观,它作为签名从 Mac Outlook 2011 发送到使用 Apple Mail 的 gmail 帐户。签名不是通过代码添加的,而是通过在 Chrome 中复制浏览器页面并粘贴到签名编辑器中来添加的。

    http://dolf.co/FILES/screenshots/IMG_0702.PNG

    【讨论】:

    • 谢谢。我尝试更改媒体查询,但似乎仍然没有得到它,所以我想我在 Outlook 中设置签名的方式可能是问题所在吗?这就是它的样子。 entecinc.com/email-signature/screenshot.png 我不相信 -webkit-text-size-adjust: none; CSS 工作正常,但您的屏幕截图看起来正确。如何将浏览器页面复制到 Outlook 中?在 Outlook 中创建空白签名后,我将代码粘贴到签名文件夹中的 html 文件中。 @eddie-a
    • 您能解释一下您是如何使用 Outlook 获得该结果的吗?这正是我想要的,但我不确定你复制浏览器页面是什么意思,你能解释一下吗? @eddit-a
    • 我知道我在这里回复太晚了,但我要做的是在浏览器窗口中打开它时执行 cmd-A (ctrl-A) 以全选,然后复制并将其粘贴到 Outlook 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2020-03-10
    相关资源
    最近更新 更多