web-dev-qa-db-fra.com

Outlook 2010 remplaçant la famille de polices d'Arial à Times New Roman

J'envoie par programme des e-mails au format HTML et je définis la police comme Arial partout (font-family: Arial;). Lorsque les messages arrivent dans Outlook 2010, le texte dans les éléments table est en Times New Roman. Le texte dans les éléments div est très bien dans Arial. Si je View Source, copiez dans un fichier HTML et visualisez dans un navigateur, toutes les polices fonctionnent comme prévu (tout est Arial).

Certains Google résultats montrent qu'Outlook reprendra sa police par défaut (Times New Roman) lorsqu'aucune n'est spécifiée, mais ce n'est pas ce qui se passe ici.

Pourquoi Outlook oblige-t-il mon courrier électronique à s'afficher en Times New Roman alors qu'il est spécifié autrement?

43
Tom Hamming

Même si vous définissez font-family: arial à table, ça ne marchera toujours pas. Vous devez définir spécifiquement la police pour chaque td à l'intérieur de votre table pour bien faire les choses.

65
defau1t
<!--[if mso]>
<style> body,table tr,table td,a, span,table.MsoNormalTable {  font-family:Arial, Helvetica, sans-serif !important;  }</style>
<!--<![endif]-->
27
user956584

Le table en question était imbriqué dans un div qui avait font-family:Arial; dans son style, mais le table n'avait pas de jeu de polices. Les tables n'héritent donc pas des polices (et peut-être d'autres choses) de leurs conteneurs dans les e-mails HTML de certains clients.

10
Tom Hamming

Ce problème se produisait à partir d'Outlook 2007 et les solutions précédentes ne fonctionnaient pas pour moi, la seule solution qui semble fonctionner est d'encapsuler le texte avec <font face="arial, sans-serif">My text with arial</font>

6
Grekz

Si vous travaillez avec Outlook 2007, vous devez définir la famille de polices sur la table. Sinon, il sera défini sur la police serif par défaut.

2
Endrian

Aucune des méthodes ci-dessus n'a fonctionné pour moi, en utilisant une police personnalisée liée à @ font-face. a dû travailler avec des balises conditionnelles pour Outlook. Cela m'a pris pas mal de temps pour comprendre comment exactement. J'ai donc mis en place un exemple de code: j'avais toujours des problèmes pour l'implémenter dans ma situation, j'ai donc partagé un exemple de code pour cela: https://stackoverflow.com/a/21626196/135654

1
tvgemert

table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";} Ouvrez votre HTML avec Text Pad, et changez-le en Arial.

1
Luuci

La balise <{ est obsolète, mais comme Outlook 2010 supprime (presque tous) les styles, c'est la seule façon dont cela fonctionne.

1
user2528858

Vous pouvez mettre votre style sur la balise "span", cela fonctionnera bien.

   <td>
       <span style="font-family: "Times New Roman"></span>
   </td>
1
Justin

J'ai eu le même problème .... tout le texte dans le corps de l'e-mail était Arial, mais le tableau était par défaut Word. Je devais envelopper la police dans chaque cellule ...... beaucoup de temps ..

0
user5455429