【发布时间】:2016-10-13 17:24:24
【问题描述】:
我想我已经尝试了所有可能的现有解决方案,所以我在这里询问是否有人知道显示 a 的最佳方式是什么:
- 简单(可点击或不可点击)图片
- 为桌面设备和移动设备使用不同的图片
- 与最流行的电子邮件客户端兼容
此处发布的解决方案:A Slick, New Image Swapping Technique for Responsive Emails 似乎是迄今为止最好的,但它有一个小问题,无论您是在移动设备上还是桌面上,这 2 个图像总是被下载(我不是说显示)。
<a href="http://www.emailonacid.com">
<span id="switcher">
<img id="houdini" src="http://www.sample.com/desktop.jpg" alt="">
</span>
</a>
<style>
@media only screen and (max-device-width: 489px) {
span[id=switcher] {
display:block;
background-image: url(http://www.sample.com/mobile.jpg) !important;
background-repeat: no-repeat !important;
background-position: center !important;
width: 300px !important;
height: 250px !important;
}
img[id=houdini] {display: none !important;}1
}
</style>
“img”标签总是下载图片,即使它没有显示(display:none)。
我尝试了许多其他方法,在表格上使用背景图像,但这似乎需要 Microsoft 的 VML 代码,而且解决方案看起来非常混乱,有时甚至无法在 android 上运行。
有人可以帮忙吗?
谢谢
【问题讨论】:
-
您是否尝试过使用媒体查询来更改跨度的 bg 图像 - 并将
标记放在一起? - 那么,实际上是一个带有 bg 图像的 css 规则,然后是一个媒体查询覆盖该 bg 图像以用于移动设备?
-
并非所有电子邮件客户端都支持媒体查询,因此如果图像仅显示媒体查询代码,则不会出现在所有电子邮件客户端上
-
另外,@asimovwasright,并非所有客户端都支持背景图像(尤其是 Windows 上的 Microsoft Outlook 等旧客户端),因此这是不可能的
-
无论如何你可以控制正在分发图像的服务器,然后你可以使用http嗅探来基于UA提供图像。 (虽然我自己从未尝试过,但我很确定这是可能的。):-)
-
@asimovwasright 同样在这里,以前从未测试过,但可能是一个解决方案,正如 gyula 建议的那样:-) ..值得一试。
标签: html css email html-email