通过CSS为Outlook客户端定义特定的图像大小

zaqlnxep  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(174)

我目前正在建立一个新的HTML模板。
在其中一节中,我想显示一个不同的图像大小的MS-Outlook,因为它不会以与其他客户端相同的方式React。
原件:

<td align="left" class="column_one_half column_image" valign="top" width="100%">
<a href="#" target="_blank"><img alt="" class="mso-size" src="https://xxx" width="100%"></a>
</td>

我需要显示大小宽度="270"的图像;在Outlook中的height ="190"。我想在头部使用CSS声明。
我尝试了下面的方法,但是它不起作用。石蕊没有显示任何变化。我做错了什么?
谢谢你,
我是这么试的:
以下结构运行良好,Litmus显示预期结果:

<!--[if mso]>
<td align="left" class="column_one_half column_image" valign="top" width="100%">
<a href="#" target="_blank"><img alt="" src="xxx" width="270" height="190"></a>
</td>
<div style="display:none">
<![endif]-->
                                                                        <td align="left" class="column_one_half column_image" valign="top" width="100%">
<a href="#" target="_blank"><img alt="" src="xxx" width="100%"></a>
</td>
                                                                        <!--[if mso]>
<div>
<![endif]-->

但是,我不希望每个人都被强迫粘贴两次image-URL,我想使用头部的CSS来代替。
我尝试了下面的声明(粘贴在第一节下面:

<!--[if mso]>  
    <style>
    img.mso-size {
    width:270px!important;
    height:190px!important;
    }
  </style>
<![endif]-->
rta7y2nd

rta7y2nd1#

不幸的是,Windows上的Outlook使用Word作为呈现引擎。虽然它们确实支持CSS中的widthheight,但不支持<img>元素。调整图像大小的唯一方法是使用HTML width属性或VML,如您所示。
通常,我所做的是在Outlook的HTML属性中声明我想要的宽度。然后在同一图像的内联样式中,应用我想要的其他客户端的样式。基于您的示例,这可能会给予:

<img alt="" src="https://example.com" width="270" style="width:100%; max-width:270px;" />

注意width属性中的百分比值在Windows上的 The Outlooks 中也有错误。(它们将基于物理文件大小,而不是像您通常期望的那样基于父元素的大小。)有关电子邮件客户端中CSS支持的更多细节,您可以参考Can I email

相关问题