在表格单元格中使用 colspan=2 与其他没有 colspan 的单元格一起使用,即 colspan=1



我遇到了一个关于表格的问题,更具体地说是单元格的 colspan 属性(td 标签),我想做这样的事情:

*** ------- +++
------- *** +++

其中每个符号都是一个单元格,您可能会注意到,第 1 行中的 2 列具有 colspan=2,因为它与第 2 行的列号 1 和 2 共享,同时第 2 行的第一列与第 1 行的列号 1 和 2 共享空间。

我已经尝试过(见下面的代码),但是当然(至少在chrome和Firefox中)它无法按预期工作。我认为这是可以实现的,但我缺乏想法,我将非常感谢您的建议。

<TABLE>
<TR>
    <TD>1</TD>
    <TD COLSPAN="2">2</TD>
    <TD>3</TD>
</TR>
<TR>
    <TD COLSPAN="2">4</TD>
    <TD>5</TD>
    <TD>6</TD>
</TR>
</TABLE>

经过一番搜索,我找到了解决方案,似乎您必须使用 col 标签,还不确定为什么,但它有效!

<TABLE>
<col style="width: 1px;">
<col style="width: 1px;">
<col style="width: 1px;">
<col style="width: 1px;">
<TBODY>
<TR>
    <TD BGCOLOR="#CDB599"></TD>
    <TD COLSPAN="2" BGCOLOR="#9CC5C9"></TD>
    <TD BGCOLOR="#CDB599"></TD>
</TR>
<TR>
    <TD COLSPAN="2" BGCOLOR="#D5544F"></TD>
    <TD BGCOLOR="#CDB599"></TD>
    <TD BGCOLOR="#CDB599"></TD>
</TR>
</TBODY>
</TABLE>

您没有指定期望标记的工作方式,但它的工作方式是第二列中的插槽宽度为零,因为没有任何要求它们的任何最小宽度。如果您添加第三行,其中包含四个普通单元格,则可以看到这一点:

<tr><td>foo<td>bar<td>more<td>stuff

然后第二列将采用"bar"所需的宽度。

最新更新