2010-08-01 42 views
3

請告知我是否幻覺......我希望如此,因爲根據瀏覽器我無法正確呈現表格,我希望有人能夠爲我提供解決方案。Webkit瀏覽器呈現表格根據colspan

我的問題是某些表格不顯示使用webkit的瀏覽器(即Safari和Chrome)的右側邊框。根據幫助下的about菜單項,我使用的Safari版本是4.0.4(531.21.10)。我使用的Chrome版本據說是Google網站上最新的版本,但我在幫助下找不到「關於」菜單選項以確認版本...

有問題的表格是那些使用colspan屬性取決於列數。如果表格有兩個或更少的colspan列,那麼該表格將以正確的邊界正確顯示。如果表格有3列或更多列有colspan,那麼表格會顯示缺少的右側邊框。如果表格沒有colspan,那麼無論列的數量如何,表格都能正確顯示。爲什麼列數加上colspan屬性與中國雞蛋的價格有什麼關係?

順便說一句:在IE,FF和Opera正確呈現的表...問題是隻與Safari和鉻...

下面是正確顯示所述兩個柱例如HTML源:

<HTML> 
<HEAD><TITLE>test Webkit with 2 columns</TITLE></HEAD> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=2>no items found</TD></TR></TBODY> 
    </TABLE> 
    <TABLE id="GridView2" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY> 
      <TR> 
       <TH scope=col>id_pur</TH> 
       <TH scope=col>subscription_pur</TH> 
      </TR> 
      <TR><TD>11</TD><TD>2</TD></TR> 
     </TBODY> 
    </TABLE> 
</BODY> 
</HTML> 

以上示例呈現兩個表格,兩個表格都顯示右側邊框。

這裏是三個柱例如HTML源,其中一個表呈現不正確:

<HTML> 
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY> 
    </TABLE> 
    <TABLE id="GridView2" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY> 
      <TR> 
       <TH scope=col>id_pur</TH> 
       <TH scope=col>subscription_pur</TH> 
       <TH scope=col>purchaser_pur</TH> 
      </TR> 
      <TR><TD>11</TD><TD>2</TD><TD>85</TD></TR> 
     </TBODY> 
    </TABLE> 
</BODY> 
</HTML> 

對於上面的例子的第一個表,其具有列跨度,當與webkit的broswers顯示缺少右邊界,但沒有colspan的第二張表不會錯過邊框。

當超過兩列並指定了colspan屬性時,如何獲得顯示的右列?

回答

2

據我所知,這是WebKit中的一個錯誤。

有一個bug report這似乎與你的問題類似,也許你也可以包括你的例子。該錯誤報告提出了一種解決方法:添加額外的列以使必要的colspan或刪除不需要的colspans。

這正確呈現在Safari:

<HTML> 
<HEAD><TITLE>test Webkit with 3 columns</TITLE></HEAD> 
    <STYLE> 
     tr.dummy-row>td { padding: 0; } 
    </STYLE> 
<BODY> 
    <TABLE id="GridView1" border="0" cellSpacing="0" 
     style="BORDER: #714938 2px solid; BORDER-COLLAPSE: collapse;"> 
     <TBODY><TR><TD colSpan=3>no items found</TD></TR></TBODY> 
     <TBODY><TR class="dummy-row"><TD></TD><TD></TD><TD></TD></TR></TBODY> 
    </TABLE> 
</BODY> 
</HTML>