在 HTML 电子邮件中不指定字体大小有什么风险?
What are the risks of not specifying font size in an HTML email?
我构建 HTML 电子邮件已有一段时间,并且总是在我的代码中指定字体大小,例如
<h1 style="font-size: 24px">Hello Readers!</h1>
<p style="font-size: 16px">Welcome to 2021!</p>
然而,浏览器和电子邮件客户端(Gmail、Outlook.com、iOS 上的 Mail 等)似乎都可以很好地应用基于 HTML 标签的适当样式。例如。以下 h1
和 p
标签中的内容大小符合您的预期,即使代码中缺少 font-size
信息:
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
</head>
<body>
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
</body>
</html>
假设正在使用与内容相关的 HTML 标签(h1
、h2
、p
等),省略 font-size
的风险是什么来自 HTML 电子邮件代码,有效地将其委托给客户端/浏览器?
最明显的危险似乎是,如果不应用默认值,所有文本的大小都会相同,但这在现实世界中似乎不太可能?
编辑:
这个问题的动机是是否可以通过允许客户端/浏览器指定字体大小来提高可读性,而不是将其硬编码到电子邮件中,例如.
您可能会得到意想不到的结果。
我尝试了以下代码:
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
</head>
<body>
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
<h2>In other news</h2>
<p><span>This is done with a p and span</span></p>
<h3>Now we're h3</h3>
<strong>and let's try strong text</strong>
<h4>But wait, there's more</h4>
<table>
<tr>
<td>This is <u>in a</u> table with a <a href="https://www.google.com">link</a> too</td>
</tr>
</table>
<hr>
This is without any tag
</body>
</html>
三星的 header 标签没有 font-size:
当然,不指定 font-family 也会出现一些非常奇怪的结果——Times New Roman 是 Outlook 桌面的默认设置 (& freenet.de):
而不同的font-families有不同的字号。不指定 line-height 也会改变段落的高度,这会影响您的设计。
但在其他方面非常典型的回复——来自 Apple Mail:
这个(下)来自 Mail.ru 我认为有相当大的余量,因为我们也没有指定。
link 在测试中有时有下划线,有时没有。
All-in-all 如果您没有指定 font-size(尽管三星至少需要它),您会发现自己无论如何都需要指定其他所有内容,所以为什么不 font-size也是吗?
更新
我在插入标准包装纸时让三星工作。因此,省略 font-size 对所有情况都适用。
但是,如果您想在 <style>
标记中指定 font-size 一次 ,这将适用于除 Gmail 之外的所有内容 IMAP/POP 用户。 (有不同的 Gmail 版本:检查 https://www.hteumeuleu.com/2019/trying-to-make-sense-of-gmail-css-support-2019-edition/)
这是我在三星使用的代码,并且指定了一次 font-size。另请注意,您必须小心捕获您使用的所有标签 - 不在标签内的文本显然不会被拾取(例如,如果您没有为 td 指定 font-size,则仅在 td 中)。
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
<style>p {font-size: 24px}</style>
</head>
<body>
<center style="width:100%;table-layout:fixed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<div style="max-width:600px;">
<!--[if (gte mso 9)|(IE)]>
<table width="600" align="center" style="border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0;font-family:Arial, sans-serif;color:#333333;" >
<tr>
<td style="padding-top:0;padding-bottom:0;padding-right:0;padding-left:0;border-collapse:collapse;" >
<![endif]-->
<table align="center" style="border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0;font-family:Arial, sans-serif;color:#333333;margin:0 auto;width:100%;max-width:600px;">
<tbody><tr>
<td style="padding-top:0;padding-bottom:0;padding-right:0;padding-left:0;border-collapse:collapse;">
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
<h2>In other news</h2>
<p><span>This is done with a p and span</span></p>
<h3>Now we're h3</h3>
<strong>and let's try strong text</strong>
<h4>But wait, there's more</h4>
<table>
<tr>
<td>This is <u>in a</u> table with a <a href="https://www.google.com">link</a> too</td>
</tr>
</table>
<hr>
This is without any tag
</td>
</tr>
</tbody>
</table>
</div>
</center>
</body>
</html>
我构建 HTML 电子邮件已有一段时间,并且总是在我的代码中指定字体大小,例如
<h1 style="font-size: 24px">Hello Readers!</h1>
<p style="font-size: 16px">Welcome to 2021!</p>
然而,浏览器和电子邮件客户端(Gmail、Outlook.com、iOS 上的 Mail 等)似乎都可以很好地应用基于 HTML 标签的适当样式。例如。以下 h1
和 p
标签中的内容大小符合您的预期,即使代码中缺少 font-size
信息:
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
</head>
<body>
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
</body>
</html>
假设正在使用与内容相关的 HTML 标签(h1
、h2
、p
等),省略 font-size
的风险是什么来自 HTML 电子邮件代码,有效地将其委托给客户端/浏览器?
最明显的危险似乎是,如果不应用默认值,所有文本的大小都会相同,但这在现实世界中似乎不太可能?
编辑:
这个问题的动机是是否可以通过允许客户端/浏览器指定字体大小来提高可读性,而不是将其硬编码到电子邮件中,例如
您可能会得到意想不到的结果。
我尝试了以下代码:
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
</head>
<body>
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
<h2>In other news</h2>
<p><span>This is done with a p and span</span></p>
<h3>Now we're h3</h3>
<strong>and let's try strong text</strong>
<h4>But wait, there's more</h4>
<table>
<tr>
<td>This is <u>in a</u> table with a <a href="https://www.google.com">link</a> too</td>
</tr>
</table>
<hr>
This is without any tag
</body>
</html>
三星的 header 标签没有 font-size:
当然,不指定 font-family 也会出现一些非常奇怪的结果——Times New Roman 是 Outlook 桌面的默认设置 (& freenet.de):
而不同的font-families有不同的字号。不指定 line-height 也会改变段落的高度,这会影响您的设计。
但在其他方面非常典型的回复——来自 Apple Mail:
这个(下)来自 Mail.ru 我认为有相当大的余量,因为我们也没有指定。
link 在测试中有时有下划线,有时没有。
All-in-all 如果您没有指定 font-size(尽管三星至少需要它),您会发现自己无论如何都需要指定其他所有内容,所以为什么不 font-size也是吗?
更新
我在插入标准包装纸时让三星工作。因此,省略 font-size 对所有情况都适用。
但是,如果您想在 <style>
标记中指定 font-size 一次 ,这将适用于除 Gmail 之外的所有内容 IMAP/POP 用户。 (有不同的 Gmail 版本:检查 https://www.hteumeuleu.com/2019/trying-to-make-sense-of-gmail-css-support-2019-edition/)
这是我在三星使用的代码,并且指定了一次 font-size。另请注意,您必须小心捕获您使用的所有标签 - 不在标签内的文本显然不会被拾取(例如,如果您没有为 td 指定 font-size,则仅在 td 中)。
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>Font Size Test</title>
<style>p {font-size: 24px}</style>
</head>
<body>
<center style="width:100%;table-layout:fixed;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;">
<div style="max-width:600px;">
<!--[if (gte mso 9)|(IE)]>
<table width="600" align="center" style="border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0;font-family:Arial, sans-serif;color:#333333;" >
<tr>
<td style="padding-top:0;padding-bottom:0;padding-right:0;padding-left:0;border-collapse:collapse;" >
<![endif]-->
<table align="center" style="border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0;font-family:Arial, sans-serif;color:#333333;margin:0 auto;width:100%;max-width:600px;">
<tbody><tr>
<td style="padding-top:0;padding-bottom:0;padding-right:0;padding-left:0;border-collapse:collapse;">
<h1>Hello Readers!</h1>
<p>It's been a long year...</p>
<h2>In other news</h2>
<p><span>This is done with a p and span</span></p>
<h3>Now we're h3</h3>
<strong>and let's try strong text</strong>
<h4>But wait, there's more</h4>
<table>
<tr>
<td>This is <u>in a</u> table with a <a href="https://www.google.com">link</a> too</td>
</tr>
</table>
<hr>
This is without any tag
</td>
</tr>
</tbody>
</table>
</div>
</center>
</body>
</html>