繁体   English   中英

Outlook.com的HTML条件语句

[英]HTML Conditional Statement for Outlook.com

我正在尝试在HTML电子邮件模板中使用两个条件语句。 该语句正在测试MS Outlook客户端,如果为true,它将渲染图像,否则将单击下一条语句以测试该客户端不是MS Outlook,然后渲染一些单独的HTML。

<!--[if mso]> ... <!--<![endif]--> <!--[if !mso]><!-- --> ... <!--<![endif]-->

这对于大多数Outlook桌面客户端而言效果很好,但是Outlook 2003、2011和2016(mac)似乎忽略了if mso语句。 我在这里遇到的另一个问题是Outlook.com似乎也无法识别此语句。

我想知道过去是否有人遇到过这个问题,如果可以的话,他们的解决方案是什么? 我以为if mso语句可以使用任何形式的Outlook客户端,但是我的假设似乎是错误的。

任何帮助,将不胜感激 :)

干杯!

Mac版Outlook(至少是2016版)使用Webkit呈现内容,而不使用大多数Windows版本的Outlook使用的MS Word引擎。 这里的好消息是,您无需跳太多圈就可以使它“正确地”呈现事物。 坏消息是,这就是[如果mso]在这里不起作用的原因。

Outlook.com似乎会剥离所有条件,这就是为什么您也看不到任何图像的原因。

可能不是您关注的新闻,但希望对您有所帮助。

这是我用的:

在html中输入:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在CSS中:

#outlook a{
        padding:0;
    }
    .ReadMsgBody{
        width:100%;
    }
    body{
        width:100% !important;
        min-width:100%;
        -webkit-text-size-adjust:100%;
        -ms-text-size-adjust:100%;
    }
    .ExternalClass{
        width:100%;
    }
    td{
        border-collapse:collapse !important;
    }
    v*{
        behavior:url(#default#VML);
        display:inline-block;
    }
    .ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{
        line-height:100%;
    }

并将所有条件规则包装在我使用的html的主体中:

 <!--[if gte mso 9]>
    <v:rect xmlns:v="urn:schemas-microsoft-com:vml" SOME OTHER RULES">
    <v:textbox inset="0,0,0,0">
    <![endif]-->

    <table>Some other HTML elements</table>

<!--[if gte mso 9]>
    </v:textbox>
    </v:rect>
<![endif]-->

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM