如何使用@Media 查询
How to use @Media queries
我正在创建一个电子邮件模板,我正试图让它响应,现在我 运行 遇到了一个问题,我一直在研究使用 "@media"
标签,但电子邮件没有我不太喜欢 <style>
所以我真的不知道该怎么做。
<body>
<table>
<table>
<tr>
<td>
text blah blah
</td>
</tr>
</table>
<!-- This is the one I was responsive (The one below) -->
<table>
<tr>
<td>
Make this table responsive <3
</td>
</tr>
</table>
</table>
</body>
P.S,我不需要顶部响应,所以我如何 link CSS
的第二个
我有我所有的表格,桌面设计看起来很完美'例如,div 和表格是“%”而不是 'px',当它缩小到移动设备时,我有 2 个相邻的 div 它们是仍然占浏览器屏幕的 50%(移动设备和桌面设备的 50%),但当它们缩小时,我希望它们占移动屏幕的 100%
<head>
<style>
@media only screen and (max-width: 771px) {
/*add your class and code here*/
}
</style>
</head>
<style>
标签将进入 <head>
标签。
但要小心你使用的某些平台有abysmal email CSS support, also see this。
我会限制在电子邮件中使用 CSS3/HTML5。
但老实说,我不会费心从头开始构建它,这太繁琐了;你必须让它在不同的平台上工作。
我会使用电子邮件 HTML 生成器(大多数是免费的),例如:
*注意:通常使用 HTML 电子邮件,您会使用表格而不是网格来布置所有内容。
在 HTML 电子邮件中,您有两种方法来完成所有样式设置,因为您不能有单独的样式表。
第一个是 <style>
标签。
您的电子邮件将具有 <html>
-><head>
-><body>
.
的结构
<style>
标签只能放在头部,所以你的设置应该是这样的。
<html>
<head>
<style>
@media screen only (max-width:767px){
/* Your CSS goes here */
}
</style>
</head>
<body>
/*HTML Code goes here */
</body>
</html>
只有当您只想更改宽度时,您的另一个选项才有效,那就是在元素的内联样式中使用百分比,如下所示:
<div class="header-block" style="width:100%;"></div>
您可以在 litmus.com 找到更多关于在电子邮件中使用媒体查询的信息。
如果您已经在样式标签中添加了额外的 CSS,Inline styler 工具或许可以帮助您将嵌入样式转换为内嵌样式。
已经完成并使用并尝试
它没有在 table 结构
中的媒体中使用
<table width="600px" max-width="100%" align="center">
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
</table>
有两种使用媒体查询的方法 - 移动优先或桌面优先。
获得最多支持并且对于刚刚进入 HTML CSS 的人来说可能是最简单的方法是桌面优先方法。在这里,您将为桌面渲染内联所有样式。然后,您为不同的断点添加媒体查询,以使电子邮件适合设备屏幕。这是最简单的,也是最受支持的,因为唯一不真正支持媒体查询的移动电子邮件客户端是 Gmail 应用程序(通常只占移动用户的一小部分)。问题是,以 Gmail 应用程序为例,根据您设置电子邮件样式的方式,这可能会导致它在 Gmail 应用程序上中断 - 导致显示问题。
这就是移动优先方法的用武之地。移动设备首先使用内联样式构建电子邮件以在 gmail 应用程序中正确显示,然后使用媒体查询和 mso 条件语句使其充实并在桌面显示上正确填充.这需要更多 CSS 和电子邮件客户端 'quirks and hacks' 的知识,但可以创建在所有客户端上精美显示的电子邮件。由于电子邮件客户端中不同处理器的复杂性,这有时可能需要更多的样式和更多的代码来完成。
对于最初的尝试,我建议首先构建桌面,然后使用移动设备的媒体查询,因为它很简单并且得到更广泛的支持,因此需要更少的黑客攻击。
有关支持的 CSS 的帮助,请参考 - http://www.campaignmonitor.com/css
希望此信息对您有所帮助。
参考文献:
石蕊 - https://litmus.com/blog/understanding-media-queries-in-html-email
Acid 电子邮件 - https://www.emailonacid.com/blog/article/email-development/media_queries_in_html_emails
CampaignMonitor - https://www.campaignmonitor.com/blog/post/3163/optimizing-your-emails-for-mobile-devices-with-media/
我正在创建一个电子邮件模板,我正试图让它响应,现在我 运行 遇到了一个问题,我一直在研究使用 "@media"
标签,但电子邮件没有我不太喜欢 <style>
所以我真的不知道该怎么做。
<body>
<table>
<table>
<tr>
<td>
text blah blah
</td>
</tr>
</table>
<!-- This is the one I was responsive (The one below) -->
<table>
<tr>
<td>
Make this table responsive <3
</td>
</tr>
</table>
</table>
</body>
P.S,我不需要顶部响应,所以我如何 link CSS
的第二个我有我所有的表格,桌面设计看起来很完美'例如,div 和表格是“%”而不是 'px',当它缩小到移动设备时,我有 2 个相邻的 div 它们是仍然占浏览器屏幕的 50%(移动设备和桌面设备的 50%),但当它们缩小时,我希望它们占移动屏幕的 100%
<head>
<style>
@media only screen and (max-width: 771px) {
/*add your class and code here*/
}
</style>
</head>
<style>
标签将进入 <head>
标签。
但要小心你使用的某些平台有abysmal email CSS support, also see this。
我会限制在电子邮件中使用 CSS3/HTML5。
但老实说,我不会费心从头开始构建它,这太繁琐了;你必须让它在不同的平台上工作。
我会使用电子邮件 HTML 生成器(大多数是免费的),例如:
*注意:通常使用 HTML 电子邮件,您会使用表格而不是网格来布置所有内容。
在 HTML 电子邮件中,您有两种方法来完成所有样式设置,因为您不能有单独的样式表。
第一个是 <style>
标签。
您的电子邮件将具有 <html>
-><head>
-><body>
.
<style>
标签只能放在头部,所以你的设置应该是这样的。
<html>
<head>
<style>
@media screen only (max-width:767px){
/* Your CSS goes here */
}
</style>
</head>
<body>
/*HTML Code goes here */
</body>
</html>
只有当您只想更改宽度时,您的另一个选项才有效,那就是在元素的内联样式中使用百分比,如下所示:
<div class="header-block" style="width:100%;"></div>
您可以在 litmus.com 找到更多关于在电子邮件中使用媒体查询的信息。
如果您已经在样式标签中添加了额外的 CSS,Inline styler 工具或许可以帮助您将嵌入样式转换为内嵌样式。
已经完成并使用并尝试 它没有在 table 结构
中的媒体中使用<table width="600px" max-width="100%" align="center">
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
<tr><td>content......</td><td>content....</td></tr>
</table>
有两种使用媒体查询的方法 - 移动优先或桌面优先。
获得最多支持并且对于刚刚进入 HTML CSS 的人来说可能是最简单的方法是桌面优先方法。在这里,您将为桌面渲染内联所有样式。然后,您为不同的断点添加媒体查询,以使电子邮件适合设备屏幕。这是最简单的,也是最受支持的,因为唯一不真正支持媒体查询的移动电子邮件客户端是 Gmail 应用程序(通常只占移动用户的一小部分)。问题是,以 Gmail 应用程序为例,根据您设置电子邮件样式的方式,这可能会导致它在 Gmail 应用程序上中断 - 导致显示问题。
这就是移动优先方法的用武之地。移动设备首先使用内联样式构建电子邮件以在 gmail 应用程序中正确显示,然后使用媒体查询和 mso 条件语句使其充实并在桌面显示上正确填充.这需要更多 CSS 和电子邮件客户端 'quirks and hacks' 的知识,但可以创建在所有客户端上精美显示的电子邮件。由于电子邮件客户端中不同处理器的复杂性,这有时可能需要更多的样式和更多的代码来完成。
对于最初的尝试,我建议首先构建桌面,然后使用移动设备的媒体查询,因为它很简单并且得到更广泛的支持,因此需要更少的黑客攻击。
有关支持的 CSS 的帮助,请参考 - http://www.campaignmonitor.com/css
希望此信息对您有所帮助。
参考文献:
石蕊 - https://litmus.com/blog/understanding-media-queries-in-html-email
Acid 电子邮件 - https://www.emailonacid.com/blog/article/email-development/media_queries_in_html_emails
CampaignMonitor - https://www.campaignmonitor.com/blog/post/3163/optimizing-your-emails-for-mobile-devices-with-media/