我在html电子邮件中使用了以下代码,除了Android 6.0 Gmail之外,它在所有电子邮件客户端中都按预期工作!蓝色联系我们按钮没有占据宽度的100%。
有什么想法?
第一个屏幕截图显示了它在真实设备上的样子,而第二个截图来自石蕊,这是不正确的,但这正是我想要的样子。
代码:
.cta {
text-align: left;
vertical-align: middle;
}
@media only screen and (max-width:414px) {
.mobile {
width: 100% !important;
padding: 0 !important;
margin: 0 !important;
}
<table class="mobile" cellpadding="0" cellspacing="0" border="0" width="33%" align="right" style="font-family: Arial, Helvetica, sans-serif;">
<tr>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="background-color:#00a5c9; font-weight: normal;">
<tr>
<td class="cta" style="text-align: left; font-family: arial, sans-serif; color: #FFFFFF; font-weight: 700; padding: 10px; color: #FFFFFF; vertical-align: top; line-height: normal !important;">
<a style="text-align: left; font-family: arial, sans-serif; color: #FFFFFF; font-weight: 700; cursor: pointer;">CONTACT US</a>
</td>
<td style="text-align: left; color: #FFFFFF; font-weight: 700;"><img src="http://via.placeholder.com/25/0f0" /></td>
</tr>
</table>
</td>
</tr>
</table>
答案 0 :(得分:1)
围绕这一点的一个好方法是强制Android 5.1&amp; 6.0显示电子邮件的桌面版本。下面的代码片段需要600x1透明png作为全宽间隔符。此间隔符将隐藏在支持媒体查询的所有移动客户端上,并允许移动视图呈现。
<tr style="line-height: 1px; mso-line-height-rule: exactly;" class="mobilehide">
<td align="center" style="min-width:600px;font-size:1px; line-height: 1px; mso-line-height-rule: exactly;">
<img src="images/android-spacer.png" alt="" width="600" height="1" style="display: block;" border="0">
</td>
</tr>
这应该在最外面的表的结束标记之前添加(在结束主体之前的最后一个)
</td>
</tr>
<!-- add here -->
</table>
</body>
</html>
答案 1 :(得分:0)
请尝试使用width: 100%;
width: 100vw;
答案 2 :(得分:0)
某些版本的Android和Gmail不使用媒体查询。
这就是为什么蓝色联系人按钮只占Android屏幕的1/3,但它占据了IOS设备屏幕的100%。 IOS将尊重媒体查询,Android将使用表中的width="33%"
:
<table class="mobile" cellpadding="0" cellspacing="0" border="0" width="33%" align="right" style="font-family: Arial, Helvetica, sans-serif;">
由于您不会按预期在Stack Overflow上发布其余代码,因此我无法提供解决方法的建议,因为我不确定您要执行的操作。至少你现在知道它为什么不起作用了。
祝你好运。