Outlook HTML CSS透明背景在表格内的单元格中

时间:2017-06-02 20:57:19

标签: html css email outlook

*更新* 我应该更清楚,也许更简洁。我工作的公司中的“Web”团队向我发送了HTML。正如我所说,由于Windows(SSIS) - > unix(SAS) - >大型机(EBCDIC),我不能使用任何东西!,除非它的内容,然后我必须在ASCII等效的硬编码。所以,为了缩短我的问题 - 我需要做一个带有嵌套表的表,该表有一个背景图像,顶部是白色文本。该解决方案需要处理(几乎)所有电子邮件和网络浏览器平台。 (我们不关心真的老,不再支持,版本)

另一种解决方案是指有人知道如何发送EBCDIC代码分配(5A)以通过而不是获取,再次使用windows-> unix->主机。我知道另一个团队从SAS发送x5A并且它可以工作。我真的真的试图避免将整个文件摄入SAS只是为了进行查找/替换,这也可能搞砸固定宽度文件。但我可以想办法解决这个问题。 * /更新*

我在这里抨击我的头。我正在写HTML用作电子邮件的内容 - 在一个地方有一个带有嵌套表的表 - 外面有一个图像,里面有文本(如文本框中所示)。

我能够让它在所有事情上工作(在EmailOnAcid上测试) - 使用rgba作品,cept for ... yes outlook - 研究这个(yay google)我现在知道Outlook不支持rgba。我尝试过背景色:透明。没有快乐。我尝试过不透明度:0,但这会使文字变得透明(我觉得我很接近那个,但遗漏了一些东西,可能很明显)

P.S。不要问我为什么给出的代码有3个对背景jpg的冗余引用。这个内容是给我的,现在我必须将它处理成可以在我的系统中运行的东西。

我无法控制的事情 -

  • 我不能让他们给我一张带有文字的图片,他们对此很奇怪。
  • 由于生成从windows跳转到unix到大型机的文本文件,我不能使用任何!那不是电子邮件内容。 (即不!重要,不! - 评论,这意味着评论中没有if [if gte mso 9],...)
  • 有一种新的CSS标准 - 我不是粉丝。但是公司中的其他组织不会在Windows服务器上生成电子邮件文本文件 - 他们在SAS(unix / linux)中执行,然后到大型机 - 因此他们可以使用ebcdic代码。如果我在我的文件中执行相同操作,它将无法工作。 :(

这是代码的一大块(带有rgba) - 相关的css在它下面

 <table border="0" width="600" cellspacing="0" cellpadding="0" class="deviceWidth">
          <tbody>
            <tr>
              <td background="http://not.real.path/something.jpg" bgcolor="#c8c7bc" valign="top" width="600" height="258" style="background-image: url(http://not.real.path/something.jpg) no-repeat center center;" id="heroImg" >

                   <div id="txtCntr">
                     <table border="0" width="340" cellspacing="0" cellpadding="0" style="margin:50px 5px 10px 25px;display:block;" class="heroTxtTbl">
                        <tr>
                          <td align="left" valign="middle" style="display:block; background-color:rgba(0, 0, 0, 0);">

                        <p href="#" style="margin:0;padding:5px 0;font-size:45px; line-height: 48px; color: #ffffff; font-family: Arial, Myriad, Helvetica, sans-serif;text-decoration: none;font-weight: bold;" class="heroTxt">We will<br>do something<br>really amazing.</p>
                            </td>
                         </tr>
                       </table>

                  </div>
                </td>
            </tr>
          </tbody>
        </table>       

背景css部分ar:

<style>
.deviceWidth {
width:100% ;
height:auto 
}
#heroImg {
display:block;
background-image:url("http://not.real.path/something.jpg");
width:100%;
height: 250px;
padding:0;
}
.heroTxt {
font-size: 38px ;
line-height: 40px ;
}
.heroTxtTbl {
width: 80% ;
float: left;
margin:50px 5px 10px 25px;
display:block;
}
.heroTxtEmp {
font-size: 17px ;
line-height: 22px ;
}
#txtCntr {
padding:5px;
}

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:0)

最近几个版本的Microsoft Outlook不支持背景图片,background-color(尝试background:#ff0000;")rgba,填充,边距或有趣。

此网站将帮助您为Outlook创建背景图像。

https://backgrounds.cm/

这是一个例子:https://jsfiddle.net/p07yrhbq/

祝你好运。

答案 1 :(得分:0)

好的,Soo ..我不知道v:rect,v:textbox是否可以自行运行,没有IF 我们试过了

var serializedArray = [{"name":"name","value":"Nicholas Barbaros"},{"name":"email","value":"george@google.com"},{"name":"password","value":"nicu121-mujik"},{"name":"imap","value":"imap.server.com"},{"name":"imap-port","value":"ad"},{"name":"pop3-host","value":"pop.server.com"},{"name":"pop3-port","value":"465"}, {"name":"pop3-ssl","value":"false"}];

// your defaults
var templateObject = {
    provider: '',
    pop3: {
        host: '',
        port: 110,
        ssl: false
    },
    imap: {
        host: '',
        port: 993
    },
    email: '',
    password: '',
};

serializedArray.forEach(function(obj) {
    var deep = obj.name.split('-');
    var key = deep.pop();

    var level = templateObject;
    deep.forEach(function(inner) {
        var nested = level[inner];
        var isObject = Object(nested) === nested;
        level = isObject ? nested : {};
    });

    level[key] = obj.value;
});

// return templateObject; // when inside your function
console.log(templateObject);

它有效。它似乎没有破坏其他电子邮件客户端(通过emailonacid测试)...所以我们将继续它。

=)