2011-05-11 214 views
0
<table width="100%" border="0"> 
    <table width="600" align="center" bgcolor="#ffffff"> 
    <tr> 
     <td width="600" colspan="120">Banner Image</td> 
    </tr> 
    <tr> 
     <td width="400" colspan="80"></td> 
     <td width="10" colspan="2" bgcolor="yellow"></td> 
     <td width="190" colspan="38"></td> 
    </tr> 
    </table> 
</table> 

對齊被搞亂了第二行。如何解決?表格對齊問題html

+2

@ User544079你需要指定你希望它出現的方式......並且隨便找......你是一堆或一堆垃圾。 –

+0

我希望橫幅在桌子上伸展。第二行應該在寬度400的比例中,分隔符的10和190 – user544079

+0

這不是用於什麼colspan;看看這裏:http://www.w3schools.com/tags/att_td_colspan。asp –

回答

2

看起來這裏有很多問題。

首先,這是無效的html。第二個表格標籤不能去你擁有它的地方。你需要做的事情如下:

<table width="100%" border="0"> 
    <tr><td> 
    <table width="600" align="center" bgcolor="#ffffff"> 
     <tr> 
      <td width="600" colspan="3">Banner Image</td> 
     </tr> 
     <tr> 
      <td width="400"></td> 
      <td width="10" bgcolor="yellow"></td> 
      <td width="190"></td> 
     </tr> 
    </table> 
</td></tr> 
</table> 

這可能會解決您的直接問題。但是,爲什麼你有120列?這似乎是錯誤的任何標準。

注意我刪除了colspan,因爲它在這裏使用看起來很不合適。

此外,你可能會問自己爲什麼你有外表標籤。這不能爲你做任何事情,無法以更好的方式完成。

0

Colspan用於指示單列SPAN有多少個COL,而不是用於指示像素寬度,因爲它看起來像是您在此處嘗試執行的操作。

而是使用colspan來指示單個列應該跨越多少個列,並使用css樣式或「width」atttribute指示列的寬度。

見這個例子:

http://jsfiddle.net/xixionia/yt3gf/

0

你直接得到了一個表內表並且那不是「有效」。

考慮:

I want the banner to stretch across the table. The second row should be in proportion of width 400, 10 for the separator and 190 

你應該有:

<table style="width:100%; background-color: #fff;"> 
<tr> 
    <td colspan="3">Banner Image</td> 
</tr> 
<tr> 
    <td style="width: 66.6%"></td> 
    <td style="width: 1.6%; background-color: yellow;"></td> 
    <td style="width: 31.6%"></td> 
</tr> 
</table> 

你都清楚地試圖用表格進行佈局線框。你應該更多地研究CSS和html5。

此答案可能會修復您的代碼,但不是您嘗試應用的邏輯。

+0

好的。出於某種原因,您的表格關閉只是沒有顯示在代碼中,但好東西 – robx

+0

Fix'd。謝謝,robx。 – guax

0

如果將第二張表放在第一張表的td內,則應該更好。然後在第二張桌子上有很多colspan。

<div> 
    <table> 
     <tbody> 
      <tr> 
       <td width="600" colspan="3">Banner Image</td> 
      </tr> 
      <tr> 
       <td width="400"></td> 
       <td width="10" bgcolor="yellow"></td> 
       <td width="190"></td>   
      </tr> 
     </tbody> 
    </table> 
</div> 

我更喜歡用div來代替表格。但你仍然有選擇。正如你可以參考另一篇文章。

0

你會嘗試:

<table width="100%" > 
<table align="center" bgcolor="#ffffff" cellspacing="0" cellpadding="0" border="1">  
<tr>   
<td colspan="120">Banner Image</td>  
</tr>  
<tr>   
<td style="width:400px;" colspan="80">a</td>   
<td style="width:10px;" colspan="2" bgcolor="yellow">b</td>   
<td style="width:190px;" colspan="38">c</td>  </tr> 
</table> 
</table> 

我添加「BORDER = 1」,並在細胞的文字才能看到的變化。