2012-05-04 10 views
42

Invio a livello di codice di posta elettronica in formato HTML e imposta il carattere come Arial in tutto (font-family: Arial;). Quando i messaggi arrivano in Outlook 2010, il testo negli elementi table si trova in Times New Roman. Il testo negli elementi div va bene in Arial. Se I View Source, copiare in un file HTML e visualizzare in un browser, tutti i tipi di carattere funzionano come previsto (è tutto Arial).Outlook 2010 che sostituisce la famiglia di font da Arial a Times New Roman

Alcuni Google results mostrano che Outlook tornerà al suo carattere predefinito (Times New Roman) quando non ne viene specificato nessuno, ma non è quello che sta succedendo qui.

Perché Outlook forza la visualizzazione della mia e-mail in Times New Roman se specificato diversamente?

risposta

63

Anche se si imposta font-family: arial in tabella, non funzionerà ancora. È necessario impostare in modo specifico il carattere per ogni td all'interno del proprio table per farlo correttamente.

+5

Speravo davvero che questa non fosse la risposta giusta ma ha funzionato, applausi! – daddywoodland

+2

Questo è corretto, Outlook non sembra prendere in mano lo stile dell'elemento genitore. Devi dare uno stile al contenitore corrente o il testo ritorna ai valori predefiniti. – aaandre

+1

Suppongo che 'td {font-family: arial}' non sia quello che intendi? –

10

La table in questione è stato nidificato in un div che aveva font-family:Arial; nel suo stile, ma il table non aveva un set di font. Quindi le tabelle non ereditano i caratteri (e forse altre cose) dai loro contenitori in e-mail HTML in alcuni client.

+0

Grazie per il suggerimento. – mattd

+3

Basta impostare il carattere per la tabella. Ogni div è necessario. Testato su Outlook 2010 –

2

Se si lavora con Outlook 2007, è necessario definire la famiglia di caratteri sulla tabella. Altrimenti verrà impostato sul tipo di carattere Serif predefinito.

6

Questo problema stava accadendo da Outlook 2007 e le soluzioni precedenti non ha funzionato per me, l'unica soluzione che sembra funzionare è avvolgendo il testo con <font face="arial, sans-serif">My text with arial</font>

+0

Grazie!Avevo una tabella con il carattere specificato per ogni td e stava trasformando la prima riga in Times New Roman. Il tag del font attorno al testo incriminato lo ha risolto. –

1

Il font < > tag è deprecato ma poiché Outlook 2010 sta rimuovendo (quasi tutti) gli stili, questo è l'unico modo in cui funziona.

1

table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";} Apri il tuo HTML con Text Pad e cambialo in Arial.

+0

Hai qualche fonte per il trucco 'MsoNormalTable'? –

1

Nessuno dei metodi precedenti ha funzionato per me, utilizzando un carattere personalizzato collegato con @ font-face. dovuto lavorare con i tag condizionali per Outlook. Mi ci è voluto un po 'di tempo per capire come esattamente. Così ho creato un esempio di codice: stavo ancora avendo alcuni problemi di attuazione della presente nella mia situazione così ho condiviso un esempio di codice per questo: https://stackoverflow.com/a/21626196/135654

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

Hai provato questo? –

+1

Questo funziona perfettamente per me in Outlook 2013! – Sietse

1

Si può mettere il vostro stile di tag "span" , Funzionerà bene.

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

Ho avuto lo stesso problema .... tutto il testo nel corpo del messaggio era Arial, ma la tabella default per parola. Ho dovuto avvolgere il carattere in ogni singola cella ...... che richiede tempo ..

Problemi correlati