2011-05-11 35 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”,并在细胞的文字才能看到的变化。