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?
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.
<!--[if mso]>
<style> body,table tr,table td,a, span,table.MsoNormalTable { font-family:Arial, Helvetica, sans-serif !important; }</style>
<!--<![endif]-->
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.
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>
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.
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
table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";}
Ouvrez votre HTML avec Text Pad, et changez-le en Arial.
La balise <{ est obsolète, mais comme Outlook 2010 supprime (presque tous) les styles, c'est la seule façon dont cela fonctionne.
Vous pouvez mettre votre style sur la balise "span", cela fonctionnera bien.
<td>
<span style="font-family: "Times New Roman"></span>
</td>
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 ..