我需要制作一个响应式的电子邮件模板。我进行了调查并了解到,媒体查询并不被广泛支持电子邮件客户端。
所以,我试着不使用媒体查询,在HTML标签中利用
但是,如果我想为移动版本更改字体大小怎么办?还有一种情况,客户希望在移动设备上看到某些块但在桌面设备上不显示。我如何在没有媒体查询的情况下实现这些?
此外,在我的情况下,当我添加样式规则和媒体查询时,我猜iOS支持媒体查询。但是,在媒体查询下的规则不会出现,而在
该模板大致如下:
所以,我试着不使用媒体查询,在HTML标签中利用
display: inline-block; max-width:290px;
来实现列的堆叠。但是,如果我想为移动版本更改字体大小怎么办?还有一种情况,客户希望在移动设备上看到某些块但在桌面设备上不显示。我如何在没有媒体查询的情况下实现这些?
此外,在我的情况下,当我添加样式规则和媒体查询时,我猜iOS支持媒体查询。但是,在媒体查询下的规则不会出现,而在
<style></style>
定义的其他规则却可以正常工作。该模板大致如下:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<style type="text/css">
table {
font-size: 24px;
}
#tdtoshowinmobile {
display: none;
}
@media only screen and max-device-width(767px){
table {
font-size: 32px !important;
}
#tdtoshowinmobile {
display: block !important;
}
}
</style>
</head>
<body>
<table>
...tr...td....
</table>
</body>
上述模板将普通规则添加到行内元素,但在我的情况下删除了媒体查询。我读过一篇文章,说电子邮件客户端会删除样式标签,并将其添加到行内元素中。我猜想由于无法在行内定义媒体查询,所以它们被忽略了。
因此,我的问题是:
如何在响应式电子邮件模板中更改
font-size
或color
等内容,而不使用媒体查询?如何正确添加媒体查询?(对我来说,在
style
标签中添加它们不起作用)
<table style="font-size: 12px">
,只有您的媒体查询应该保留在<style>
标签中,并在每个样式后面加上!important
。您需要强制电子邮件客户端尊重媒体查询。 - Aaronstyle
标签中保留媒体查询。但是媒体查询没有被应用。 - Mark Wilson<head>
中包含了视口元标记?<meta name="viewport" content="width=device-width, initial-scale=1">
- Aaron