在 outlook 中相互叠加图像(绝对定位)
Overlay images on one another in outlook (absolute positioning)
我正在努力寻找一种 cross-email-client 将图像堆叠在一起的方法。我正在寻找也适用于 Outlook 的东西。我也在使用来自 foundation/zurb 的 inky 模板语言,虽然我仍然可以写任何我想要的 html/css。
我已经成功地使用了 http://blog.gorebel.com/absolute-positioning-in-email/ 0-width/height 容器溢出的技巧,使其在所有其他电子邮件客户端上工作,只有 Outlook 是坏的 child.
有没有人知道在 Outlook 中将图像(不是背景)叠加在一起的技巧?
编辑
目标:https://imgur.com/a/xFq4d
正如你在这张图片上看到的,卡片的 "header" 有两张图片:一张经典头像作为圆形图片,同样的 "avatar" 应用了一些滤镜并用作背景图片,带有特殊的圆角
注意:我很模糊 filters/round 角落在某些电子邮件客户端上不可用,我们将有替代代码来处理那些不受支持的电子邮件客户端
我之前使用的绝对定位代码(我正在重写 div 以使用 inky 的 rows/columns 将代码转换为使用表格
<div class="professional-card">
<div class="header">
<div class="absolute-wrapper">
<div class="avatar-background-wrapper absolute-in-wrapper">
<%= avatar_img(class: 'avatar-background') %>
</div>
</div>
<div class="absolute-wrapper">
<div class="avatar employee %> absolute-in-wrapper">
<%= avatar_img %>
<div class="firstname">
<%= model.user.first_name %>
</div>
<div class="company-name">
<%= model.company_name %>
</div>
</div>
</div>
</div>
<div class="content">
<div class="absolute-wrapper">
<div class="absolute-in-wrapper">
<div class="position">
<%= model.position %>
</div>
<ul class="tags">
<%= tags %>
</ul>
</div>
</div>
<div class="absolute-wrapper">
<div class="absolute-in-wrapper">
<div class="company-logo">
<%= logo_img %>
</div>
</div>
</div>
</div>
</div>
提到的技巧对应的绝对定位SCSS代码(在消息中自动内联)
.absolute-in-wrapper {
display: inline-block;
}
.absolute-wrapper {
max-height: 0;
max-width: 0;
overflow: visible;
}
让背景图像在 Outlook 中工作的唯一方法是使用 VML。
<div style="background-color:#ff0000; width:600px;">
<!--[if gte mso 9]>
<v:background xmlns:v="urn:schemas-microsoft-com:vml" fill="t">
<v:fill type="tile" src="http://www.gwally.com/news/photos/catintinfoilhat.jpg" color="#ff0000"/>
</v:background>
<![endif]-->
<table height="450" width="600" cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="top" align="left" background="http://www.gwally.com/news/photos/catintinfoilhat.jpg">
<h1 style="text-align: center; color: #ffffff;-webkit-text-stroke-width: 1px; -webkit-text-stroke-color: black; font-family: Arial, san-serif;">
Background Image with text on top
</h1>
</td>
</tr>
</table>
</div>
您可以在 https://backgrounds.cm 找到大部分代码。
圆角
如果您有 Outlook 的圆角技术,请 post 您的解决方案。 border-radius:
不适用于 Outlook 2007-2016。
绝对定位
position:
在 Outlook、Gmail 或相关电子邮件程序中不起作用。甚至您 post 了解备选方案的页面在 Outlook 中也不起作用。克服职位问题的最佳方法是设计一个不需要的电子邮件。
https://www.campaignmonitor.com/css/positioning-display/position/
使用垫片
一种替代方法是使用 spacer 表。这是您可以添加 space.
的一种方式
<!--[if (gte mso 9)|(IE)]>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="8" style="padding: 0; mso-line-height-rule: exactly; line-height: 2px; font-size: 0;">
</td>
</tr>
</table>
<![endif]-->
祝你好运。
我正在努力寻找一种 cross-email-client 将图像堆叠在一起的方法。我正在寻找也适用于 Outlook 的东西。我也在使用来自 foundation/zurb 的 inky 模板语言,虽然我仍然可以写任何我想要的 html/css。
我已经成功地使用了 http://blog.gorebel.com/absolute-positioning-in-email/ 0-width/height 容器溢出的技巧,使其在所有其他电子邮件客户端上工作,只有 Outlook 是坏的 child.
有没有人知道在 Outlook 中将图像(不是背景)叠加在一起的技巧?
编辑
目标:https://imgur.com/a/xFq4d 正如你在这张图片上看到的,卡片的 "header" 有两张图片:一张经典头像作为圆形图片,同样的 "avatar" 应用了一些滤镜并用作背景图片,带有特殊的圆角
注意:我很模糊 filters/round 角落在某些电子邮件客户端上不可用,我们将有替代代码来处理那些不受支持的电子邮件客户端
我之前使用的绝对定位代码(我正在重写 div 以使用 inky 的 rows/columns 将代码转换为使用表格
<div class="professional-card">
<div class="header">
<div class="absolute-wrapper">
<div class="avatar-background-wrapper absolute-in-wrapper">
<%= avatar_img(class: 'avatar-background') %>
</div>
</div>
<div class="absolute-wrapper">
<div class="avatar employee %> absolute-in-wrapper">
<%= avatar_img %>
<div class="firstname">
<%= model.user.first_name %>
</div>
<div class="company-name">
<%= model.company_name %>
</div>
</div>
</div>
</div>
<div class="content">
<div class="absolute-wrapper">
<div class="absolute-in-wrapper">
<div class="position">
<%= model.position %>
</div>
<ul class="tags">
<%= tags %>
</ul>
</div>
</div>
<div class="absolute-wrapper">
<div class="absolute-in-wrapper">
<div class="company-logo">
<%= logo_img %>
</div>
</div>
</div>
</div>
</div>
提到的技巧对应的绝对定位SCSS代码(在消息中自动内联)
.absolute-in-wrapper {
display: inline-block;
}
.absolute-wrapper {
max-height: 0;
max-width: 0;
overflow: visible;
}
让背景图像在 Outlook 中工作的唯一方法是使用 VML。
<div style="background-color:#ff0000; width:600px;">
<!--[if gte mso 9]>
<v:background xmlns:v="urn:schemas-microsoft-com:vml" fill="t">
<v:fill type="tile" src="http://www.gwally.com/news/photos/catintinfoilhat.jpg" color="#ff0000"/>
</v:background>
<![endif]-->
<table height="450" width="600" cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="top" align="left" background="http://www.gwally.com/news/photos/catintinfoilhat.jpg">
<h1 style="text-align: center; color: #ffffff;-webkit-text-stroke-width: 1px; -webkit-text-stroke-color: black; font-family: Arial, san-serif;">
Background Image with text on top
</h1>
</td>
</tr>
</table>
</div>
您可以在 https://backgrounds.cm 找到大部分代码。
圆角
如果您有 Outlook 的圆角技术,请 post 您的解决方案。 border-radius:
不适用于 Outlook 2007-2016。
绝对定位
position:
在 Outlook、Gmail 或相关电子邮件程序中不起作用。甚至您 post 了解备选方案的页面在 Outlook 中也不起作用。克服职位问题的最佳方法是设计一个不需要的电子邮件。
https://www.campaignmonitor.com/css/positioning-display/position/
使用垫片
一种替代方法是使用 spacer 表。这是您可以添加 space.
的一种方式<!--[if (gte mso 9)|(IE)]>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="8" style="padding: 0; mso-line-height-rule: exactly; line-height: 2px; font-size: 0;">
</td>
</tr>
</table>
<![endif]-->
祝你好运。