Table Android 6 上的行未占用 100% 宽度
Table row on Android 6 is not taking 100% width
我在 html 电子邮件中使用了以下代码,它在所有电子邮件客户端中都按预期工作,Android 6.0 Gmail 除外!蓝色的联系我们按钮没有占据 100% 的宽度。
有什么想法吗?
第一个屏幕截图显示了它在真实设备上的样子,而第二个屏幕截图来自 litmus,这是不正确的,但这是我试图使它看起来像的。
代码:
.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>
不要使用 width: 100%;
,请尝试使用 width: 100vw;
Android 和 Gmail 的某些版本不使用媒体查询。
这就是为什么蓝色的接触按钮只占 Android 屏幕的 1/3,但在 IOS 设备上却占据了 100% 的屏幕。 IOS 将遵循媒体查询,而 Android 将使用 table:
中的 width="33%"
<table class="mobile" cellpadding="0" cellspacing="0" border="0" width="33%" align="right" style="font-family: Arial, Helvetica, sans-serif;">
由于您不会 post Stack Overflow 上预期的其余代码,因此我无法提供解决方法的建议,因为我不确定您要做什么。至少你现在知道为什么它不起作用了。
祝你好运。
解决此问题的一个好方法是强制 Android 5.1 和 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>
这应该添加在最外层的结束标记之前 table(结束正文之前的最后一个)
</td>
</tr>
<!-- add here -->
</table>
</body>
</html>
我在 html 电子邮件中使用了以下代码,它在所有电子邮件客户端中都按预期工作,Android 6.0 Gmail 除外!蓝色的联系我们按钮没有占据 100% 的宽度。
有什么想法吗?
第一个屏幕截图显示了它在真实设备上的样子,而第二个屏幕截图来自 litmus,这是不正确的,但这是我试图使它看起来像的。
代码:
.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>
不要使用 width: 100%;
,请尝试使用 width: 100vw;
Android 和 Gmail 的某些版本不使用媒体查询。
这就是为什么蓝色的接触按钮只占 Android 屏幕的 1/3,但在 IOS 设备上却占据了 100% 的屏幕。 IOS 将遵循媒体查询,而 Android 将使用 table:
中的width="33%"
<table class="mobile" cellpadding="0" cellspacing="0" border="0" width="33%" align="right" style="font-family: Arial, Helvetica, sans-serif;">
由于您不会 post Stack Overflow 上预期的其余代码,因此我无法提供解决方法的建议,因为我不确定您要做什么。至少你现在知道为什么它不起作用了。
祝你好运。
解决此问题的一个好方法是强制 Android 5.1 和 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>
这应该添加在最外层的结束标记之前 table(结束正文之前的最后一个)
</td>
</tr>
<!-- add here -->
</table>
</body>
</html>