2015-07-20 358 views
0

我一直在使用html電子郵件模板。而且我幾乎在我的工作結束。這個模板在市長電子郵件客戶端中看起來很不錯。但是Outlook 2007/2010/2013存在問題。這三個人不尊重我的模板的最大寬度。我不知道爲什麼會發生這種情況。屬性「寬度」<table>標記在Outlook中無法正常工作

你有什麼想法嗎?
任何意見將不勝感激。謝謝。

<body style="margin:0; font-size:13px; font-family:'Trebuchet MS', Helvetica, Verdana, Arial;" bgcolor="#bb9dd8"> 

    <table width="100%" cellspacing="0" cellpadding="0" border="0">  
     <tr> 
      <td bgcolor="#bb9dd8"> 

      <!-- //Begin Main Container\\ -->    
       <table class="mainContainer" style="margin-top:20px;" width="640px" align="center" cellspacing="0" cellpadding="0" border="0"> 

     <!-- //From here begin header and the layout structure\\ --> 

那是定義最大寬度的代碼片段。謝謝。

+0

什麼問題?它是否低於100%或更多?如果更多,請使用table-layout:fixed;爲了凍結你的表格的寬度 –

+0

謝謝你。這個想法是什麼?要將表固定爲特定大小?無論如何,如果問Outlook的問題。是模板需要超過640px,這是最大的寬度。 – Allen

+0

這個想法是,與你的完整代碼一樣,我指向這個http://www.w3.org/wiki/CSS/Properties/table-layout。除此之外,對於outlook,你可以嘗試使用width:expression(...)這些舊的IE(<8)理解並用於模擬CSS中的所有計算或條件(js內部)。看到這個http://www.websitecodetutorials.com/code/ie/ie6-min-max-height-width.php或任何其他鏈接,你可以找到與「IE CSS EXPRESSION」像http://mark-story.com/ posts/view/css-expressions-in-ie-and-scoping from https://www.google.fr/search?q=ie+css+expression –

回答

1

您是正確的,Outlook 2007+的PC版本不支持最大寬度。不過,您可以在這裏採取兩種方法之一來實現流體寬度。

使用一些Outlook條件代碼來建立一個固定寬度的表。這將被其他電子郵件客戶端忽略。

<table width="100%"> 
    <tr> 
    <td> 
     <!--[if gte mso 9]> 
     <table width="640" style="width:640px"> 
      <tr> 
      <td> 
    <![endif]--> 
     Put main content table here 
    <!--if gte mso 9]> 
      </td> 
     </tr> 
     </table> 
    <![endif]--> 
    </td> 
    </tr> 
</table> 

另一種方法涉及使用媒體查詢和3列表。外部列將具有非中斷空間,中間將設置爲您的Outlook寬度幷包含您的主表。

<style> 
@media only screen and (min-width: 640px) { 
    .maxW {width: 640px !important;} 
} 
</style> 
<table align="center" width="100%" > 
    <tr> 
     <td>&nbsp;</td> 
     <td align="center" valign="top" width="640" style="width:640px" > 
     <table align="center" style="margin: auto; max-width: 640px" width="100%" class="maxW"> 
      <tr> 
       <td>Put your header image here</td> 
+0

謝謝@BillMalcolm。我明白。這個想法是使用媒體查詢來獲取Outlook自動設置的大小,並強制它獲得我想要的大小(640px)。 但重點是,正如你可以看到我的代碼上面我有: '第一級表---->寬度= 100%(這是整個屏幕) 第二級表---->寬度= 640px(這是模板本身)' 從這一點起,所有的​​都被限制在相同的寬度上,這是我想要的大小。 爲什麼我需要在Outlook中指定640px或更大的尺寸? 謝謝。 – Allen

+0

啊,我現在看到了。你有鏈接到你的代碼?任何數量的東西都可能吹出你的桌子。尺寸不合適的圖片,連續字符(如網址等)的字符串等。創建小提琴或張貼鏈接,我會看一看 –

0

既可以在Mso中定義的表中進行包裝,也可以在樣式表中設置帶有定義寬度的ID,該ID在媒體查詢中變回百分比。 Outlook不尊重最大寬度。有關CSS兼容性,請參閱here

此外 - 定義HTML寬度時不要放置px。這只是在CSS中。例如。寬度=「640」不是寬度=「640px」

相關問題