2015-05-13 12 views
9

Tôi có vấn đề mà Thunderbird phiên bản 31.6.0 dường như loại bỏ hoặc bỏ qua tuyên bố <doctype /> của tôi.
Điều này trở thành sự cố khi số <td /> được hiển thị có số height và thêm padding-top hoặc padding-bottom.
Thông thường, bạn sẽ hy vọng rằng Thunderbird thêm heightpadding giống như trong Firefox: box-sizing: content-box;
Bằng cách loại bỏ các <doctype /> các <td /> các heightpadding không được thêm nữa và thay vào đó bạn kết thúc với tổng chiều cao nhỏ hơn so với mong đợi, hầu hết như: box-sizing: border-box nhưng không hoàn toàn.Thunderbird 31.6 loại bỏ doctype

Bạn có thể dễ dàng tái sản xuất này bằng cách sử dụng mã nguồn này và loại bỏ các <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 nói phiên bản Thunderbird mới chấp nhận DOCTYPE, nhưng tài liệu của họ đã được 4 tuổi.

Có ai biết nếu đó là lỗi hiện tại với Thunderbird hay không thì tôi có thể giải quyết vấn đề này bằng cách nào?

Xin cảm ơn trước.

Trả lời

1

Theo Mozilla's DOCTYPE sniffing, loại tài liệu trở nên lỗi thời kể từ Gecko 2 (Firefox 4/Thunderbird 3.3/SeaMonkey 2.1). Vì vậy, nếu tôi đúng, có lẽ viết mã tuân thủ W3C có thể là giải pháp?

Bạn đã thử HTML cố định từ validator? Kiểm tra "Dọn dẹp Markup với HTML Tidy", nó sẽ ra một HTML hợp lệ phù hợp với DOCTYPE của bạn:

<!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> 

Nó chỉ là một ý tưởng, tôi không biết nếu Thunderbird sẽ hiển thị như bạn muốn.

+0

Thật không may, các thay đổi của bạn trong mã nguồn không giúp ích gì. Tôi vẫn có cùng một vấn đề. Cảm ơn bạn đã liên kết đến việc đánh lừa DOCTYPE. Tôi không nghĩ rằng nó có liên quan đến vấn đề mặc dù. Có lẽ chức năng cụ thể này đã được gỡ bỏ, nhưng nói chung DOCTYPE vẫn được tôn trọng trong Gecko và Firefox. – Horen

+0

Xin lỗi, tôi không có manh mối khác: s –