2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Thank you for subscribing to our newsletter!</title>

        <style>
            img.img {
                z-index: -1;
                position: absolute;
                float:left;
            }

            .content {
                position: relative;
                z-index: 5;
            }
        </style>

    </head>
    <body>

        <div style="width: 750px; font-family: Arial, Helvetica, sans-serif; font-size: 11px;">
            <img class="img" src="email.png" />

            <div class="content">
                <h1>Text<small>app</small></h1>

            </div>
        </div>
    </body>
</html>

例如,当我将此时事通讯发送到 gmail 时,z-index 将被忽略。我想要的是img上的文字。但它将首先呈现图像,然后呈现文本。

基本上 z-index 被忽略。这可以解决,还是我不能使用 z-index?

4

2 回答 2

10

更新:此列表已移至此处:编写 HTML 电子邮件时的最佳实践和注意事项

你不应该使用 z-index、divs、position 或 float。基本上,您处理 html 电子邮件的整个方法都是错误的。Html 电子邮件是与 html for web 不同的野兽。以下是一些资源:

其中一些信息中的一小部分在技术上并不是 100% 正确(html 电子邮件确实是一种魔法),但它们会让你 99% 到达那里。

其他支持指南:

您还需要使用VML来获取在 Outlook 中工作的背景图像。以下是一些 VML 链接:

您应该始终在 html-email 中内联您的 CSS。这是 CSS 内联工具列表的链接:

于 2013-11-05T14:26:36.473 回答
2

Gmail 是唯一不支持 z-indexing 的客户端,看起来如此。http://www.campaignmonitor.com/css/

也许这是您问题的核心。另外,我可以问一下为什么您希望文本出现在 eblast 上的图像上?简单的解决方案是让图像成为元素的背景,并在其中包含文本。任何复杂的标记都可能导致电子邮件活动的混乱。

要么将文本 Photoshop 到图像中,要么将图像作为背景。

于 2013-11-05T01:55:00.393 回答