【问题标题】:When Outlook 2007 ignores css, how to specify font-size?当 Outlook 2007 忽略 css 时,如何指定字体大小?
【发布时间】:2013-05-16 12:42:12
【问题描述】:

我有两台装有 Outlook 2007 的 Windows 计算机。我都发送了 HTML 电子邮件,其中包含以下内容:

<div style='font-family:Times New Roman,Serif;font-size:11pt'> ...

我需要它是 Times New Roman,11pt 字体。在一个 Outlook 中,它正确显示为 Times 11pt,在另一个 Outlook 中正确显示为 Arial 12pt。我可以通过使用带有以下标签的周围内容来获得第二个显示时间:

<font face='Times New Roman' size='3'>...

但是size映射到12pt,size=2就是10pt。我看不到以 px 或 pt 为单位指定大小的方法。这个标签令人不安,因为我们是 2013 年。

我了解 Outlook HTML 电子邮件呈现是一场灾难,因为它使用 Word 而不是 IE 进行呈现。但为什么会有差异?我可以做些什么来让 Outlook 的第二个副本像第一个一样吗?还是有其他方式来告诉它:“11pt”。

这是我最近对发送到 Exchange 的 HTML 的尝试...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <style>
      body, div, p, table, td {
         font-family:TimesNewRoman, "Times New Roman", Times, Serif;
      }
    </style>
  </head>
  <body style='font-family:TimesNewRoman, "Times New Roman", Times, Serif;font-size:11pt;'>
   <font style="font-family: TimesNewRoman, "Times New Roman", Times, serif; font-size: 14px; color: #000000;">
    <p>Blah blah.
    </p>
   </font>
 </body></html>

【问题讨论】:

  • 每台机器上安装了哪个版本的 IE?也许它在某些情况下确实使用了 IE?
  • IE 8 和 IE 7。IE 7 是需要 标签的机器。我如何判断它是否使用 Word for 查看器?我读到 Outlook 2007 就是这样做的。
  • 我认为你是对的,根据support.microsoft.com/kb/933793,它只使用“不支持某些 CSS”的 Word。但是作为测试,你可以在第二台机器上安装 IE8 吗?
  • 我无法更换那台机器。它属于客户。
  • 那我觉得唯一的选择就是不使用CSS,而是&lt;font&gt;标签及其属性

标签: outlook html-email outlook-2007


【解决方案1】:

Times 不是 Windows 中的字体(我相信这是 Times New Roman 的 Mac 名称)。

感谢cssfontstack,试试这样:

font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;

除此之外,请尝试在上面的示例中使用后备引号,看看是否会有所不同。此外,将您的 css 样式直接应用于 &lt;font&gt; 标签或 &lt;td&gt;。不建议将 Div 用于 html 电子邮件,因此我会尽可能避免使用它们。我几乎只使用字体标签来设置文本样式,而且它们似乎总是适合我。

【讨论】:

  • 确认。你是对的,但我这里的代码不是真实代码的副本。在那里我确实使用了 Times New Roman。我会更新问题。
  • 既然我们已经澄清了这一点,我在答案中添加了更多内容 - 见上文。
  • 我现在的问题是尺寸。 &lt;font face='Times New Roman' ...&gt; 有效。但是font 标签上的style='font-size:11pt' 之类的属性会被忽略。嗯...也许我可以尝试 size='2.5' 来获得 11pt。如果可行,将再次发布。
  • 试试这种格式,但要加上引号:&lt;font style="font-family: TimesNewRoman, "Times New Roman", Times, serif; font-size: 14px; color: #000000;"&gt;Here is your styled text&lt;/font&gt;
  • 我认为我们让它表现得足够好,在整个身体或大部分身体周围都有一个字体标签。所以你不需要每一行,但仍然......丑陋。我认为我们从来没有准确地得到 11pt。
【解决方案2】:

我遇到了类似的问题,但我只有 Office 2010,所以我无法验证这是否适用于 2007。如果有帮助,我在下面分享了我的 Outlook 邮件 HTML 的基本结构。我从原始问题中看到的主要区别是样式类型“text/css”和样式周围的封闭注释标签。请注意,其他元素,如 td、th、table 等,也可以在此块中设置样式。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>My Title</title>
<style type="text/css">
<!--

body { font-size: 10pt font-family: sans-serif; }

-->
</style>
</head>
<body>
blah, blah
</body>
</html>

【讨论】:

  • 不知道为什么 MS 觉得有必要一直违反标准,但是是的 - 注释掉样式意味着 Outlook 2010 仍然会呈现它们。这是什么,我什至没有……
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2012-08-06
  • 2021-10-26
  • 2022-01-03
  • 2016-08-10
  • 1970-01-01
  • 2015-07-15
相关资源
最近更新 更多