电子邮件中的响应式字体大小不起作用

3

我似乎无法在正在创建的电子邮件中使响应式字体大小生效。问题出现在Outlook、Gmail和AOL上。

输入图像描述

以下是HTML代码:

<th class="small-2 large-2 columns" valign="middle" style="Margin: 0 auto; background-color: #E7E7E7; border: 2px solid #ffffff; color: #0a0a0a; font-family: 'Open Sans', sans-serif; font-size: 16px; font-weight: normal; line-height: 1.3; margin: 0 auto; min-height: 85px; padding: 0; padding-bottom: 16px; padding-left: 0 !important; padding-right: 0 !important; padding-top: 20px; text-align: left; width: 80.66667px;">
   <p class="field text-center" style="Margin: 0; Margin-bottom: 10px; color: #666666 !important; font-family: 'Open Sans', sans-serif; font-size: 8px; font-weight: normal; line-height: 1.75; margin: 0; margin-bottom: 2px; padding: 0; text-align: center;">Price</p>
   <p pardot-region="" class="number text-center" style="Margin: 0; Margin-bottom: 10px; color: #333333; font-family: 'Open Sans', sans-serif; font-size: 10px; font-weight: bold; line-height: 1.75; margin: 0; margin-bottom: 10px; padding: 0; text-align: center;">$512.72</p>
</th>

这是我后来使用Foundation内联工具内联的CSS。
.financial-table th p.field {
  color: #666666 !important;
  margin-bottom: 2px;
  font-size: 8px;
}

.financial-table th p.number {
  font-size: 10px;
  color: #333333;
  font-weight: bold;
}

@media only screen and (min-width:500px){

  .financial-table th p.number {
    font-size: 16px !important;
  }
  .financial-table th p.field {
    font-size: 12px !important;
  }
}

我做错了什么?


Open Sans 不适用于 Outlook 或 Gmail。两者都不支持 Web 字体。 - gwally
2个回答

1

最终成功了。在元素中添加一个带有媒体查询的span类标签,解决了固定宽度的问题。

<th class="small-2 large-2 columns" valign="middle" style="Margin: 0 auto; background-color: #E7E7E7; border: 2px solid #ffffff; color: #0a0a0a; font-family: 'Open Sans', sans-serif; font-size: 16px; font-weight: normal; line-height: 1.3; margin: 0 auto; min-height: 85px; padding: 0; padding-bottom: 16px; padding-left: 0 !important; padding-right: 0 !important; padding-top: 20px; text-align: left; width: 80.66667px;">
   <p class="field text-center" style="Margin: 0; Margin-bottom: 10px; color: #666666 !important; font-family: 'Open Sans', sans-serif; font-size: 8px; font-weight: normal; line-height: 1.75; margin: 0; margin-bottom: 2px; padding: 0; text-align: center;"><span class="mobile-number">Price</span></p>
   <p pardot-region="" class="number text-center" style="Margin: 0; Margin-bottom: 10px; color: #333333; font-family: 'Open Sans', sans-serif; font-size: 10px; font-weight: bold; line-height: 1.75; margin: 0; margin-bottom: 10px; padding: 0; text-align: center;"><span class="mobile-number">$512.72<span></p>
</th>

这是一个奇怪的解决方法。你说“问题出在Outlook、Gmail、AOL”,这个解决方法修复了哪一个?Gmail? - Syfer
@Syfer 全部都需要。当使用类别和内联样式时,响应式样式是如何工作的?内联样式不总是优先吗? - Peekay
内联样式确实具有优先权,除非头部中有CSS并且使用了!important来覆盖它。我问的原因是我从未不得不添加额外的span才能使响应式部分正常工作。针对正确的类进行定位一直适用于我。很高兴知道这对你有用。说实话,我不太喜欢内联样式。 - Syfer

1
你的代码似乎完美运行,尝试像这样选择只有 p.fieldp.number 的段落。
p.field {
  color: #666666 !important;
  margin-bottom: 2px;
  font-size: 8px;


}

p.number{
  font-size: 10px;
  color: #333333;
  font-weight: bold;
}

@media only screen and (min-width:500px){

  p.number {
    font-size: 16px !important;
  }
  p.field {
    font-size: 12px !important;
  }
}

这里是实时代码。jsfiddle。调整结果框以查看效果。

尝试过了,但问题仍然存在。我应该提到这是用于电子邮件的。老实说,我不太确定响应式样式如何与内联CSS配合工作。 - Peekay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接