1. 程式人生 > >outlook郵件中樣式問題

outlook郵件中樣式問題

絕對路徑 ref 字體 col 定時發送郵件 9.png borde itl 全屏

目前要做一個定時發送郵件的功能,郵件的大致內容布局如下:

HTML中

技術分享圖片

在QQ郵件中,可以進行正常顯示。

在outlook網頁版,也可以正常顯示,

技術分享圖片

outlook客戶端

技術分享圖片

但是到了客戶端就會出現很多很神奇的問題,基本樣式全丟,浮動不支持,定位不支持,所以很多樣式都亂了,後來百度一下才知道OUTLOOK是按照word的方式解析的,很多樣式,標簽都不支持,不支持內部樣式表,所以只能寫內聯,等等兼容問題,這裏記錄一下:

首先outlook支持傳統的table 布局,不支持浮動,定位布局。所以寫的時候就要註意這一點。

1.內部樣式表,外聯樣式表,JS不支持

這裏寫樣式的話,只能寫內聯

2.table樣式初始化,將內部邊距合並

和普通瀏覽器一樣都是為table 本身添加cellpadding="0" cellspacing="0"屬性

3.border問題

給每一個td添加邊框

<td style="border: 1px solid #919191!important;"></td>

 再通過border-collapse:collapse對邊框進行合並

<table cellpadding="0" cellspacing="0" style=" border-collapse:collapse;">

4.margin,padding問題

在outlook的客戶端,table上下的margin 會失效,這裏參考網上使用hspace

vspace,但是並沒有效果,所以我采用了比較low的方式,填補了空元素來完成間隔

關於padding會自動添加,這裏我為每一個td進行了樣式清空 padding為0的方法來解決

5.line-height問題

mso-line-height-rule:exactly是微軟的CSS屬性,對其他無效,作用於塊級元素
<td style="mso-line-height-rule:exactly; line-height:33px;">

6.浮動問題

左右浮動可以使用align="left"/"right"來實現

首先為大盒子定一個width,然後設置align="center",裏面的img 註意不要設置align="right" 就可以實現圖片在width中 右浮動

7.colspan,rowspan實現問題

這個我測試了依稀,在outlook客戶端是可以被識別的,所以可以繼續使用該屬性

8.圖片問題 註意使用線上絕對路徑的src值,防止圖片找不到

9.對於字體居中問題

要使每一個td裏面的數據都居中對齊,需要結合使用

 <td align="center" style="text-align:center;">0</td>

有的不繼承table中的字體居中屬性,所以只能一個個設置

10.背景色問題

我曾經在網頁中使用灰色作為背景,table為白色,來突出,到了客戶端則全屏變為灰色,這裏只要將bgcolor="#fff" 改成白色就可以了

這裏放一個相關outlook內置html的較為詳細的介紹鏈接,方便以後查看

目前先總結這麽多 以後繼續完善

outlook郵件中樣式問題