2015-05-13 24 views
9

Ho il problema che la versione 31.6.0 di Thunderbird rimuove o ignora apparentemente la mia dichiarazione <doctype />.
Questo diventa un problema quando viene eseguito il rendering di height e padding-top o padding-bottom.
Normalmente, ci si aspetterebbe che Thunderbird aggiunge height e padding come fa in Firefox: box-sizing: content-box;
Rimuovendo il <doctype /> il <td /> il height e padding non sono più e invece si finisce con un'altezza totale più piccola del previsto aggiunto, quasi come: box-sizing: border-box ma non del tutto.Thunderbird 31.6 rimuove il doctype

Si può facilmente riprodurre questo utilizzando questo codice sorgente e la rimozione del <doctype />:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <body> 
    <table cellpadding="0" cellspacing="0" border="0" width="100%"> 
     <tbody> 
      <tr> 
       <td align="right" bgcolor="#ff00ff" style="background-color:#ff00ff;padding-top:50px;padding-right:20px;padding-bottom:50px;padding-left:0px;height:100px;" height="100" valign="top"> 
        Text 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</body> 
</html> 

Email on Acid dice versioni più recenti di Thunderbird accettano la Doctype, ma il loro documento è già 4 anni.

Qualcuno sa se questo è un bug corrente con Thunderbird o in quale altro modo posso risolvere questo?

Grazie in anticipo.

risposta

1

Secondo Mozilla's DOCTYPE sniffing, il doctype è diventato obsoleto da Gecko 2 (Firefox 4/Thunderbird 3.3/SeaMonkey 2.1). Quindi, se ho ragione, forse scrivere codice compatibile W3C potrebbe essere la soluzione?

Hai provato l'HTML fisso da validator? Controlli "ripulire Markup con HTML Tidy", il risultato sarà una valida HTML conforme al vostro Doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title></title> 
     <style type="text/css"> 
     /*<![CDATA[*/ 
     td.c1 {background-color: #ff00ff; height: 100px; padding-bottom: 50px; padding-left: 0px; padding-right: 20px; padding-top: 50px} 
     /*]]>*/ 
     </style> 
    </head> 
    <body> 
     <table cellpadding="0" cellspacing="0" border="0" width="100%"> 
      <tbody> 
       <tr> 
        <td align="right" class="c1" height="100" valign="top">Text</td> 
       </tr> 
      </tbody> 
     </table> 
    </body> 
</html> 

E 'solo un'idea, non so se Thunderbird vi mostrerà come si desidera.

+0

Sfortunatamente, le modifiche nel codice sorgente non sono state d'aiuto. Ho ancora lo stesso problema. Grazie per il link allo sniffing di DOCTYPE. Non penso che sia collegato al problema però. Forse questa funzione specifica è stata rimossa, ma in generale il DOCTYPE è ancora rispettato in Gecko e Firefox. – Horen

+0

Scusa, non ho altra idea: s –