你可以混合%和px来对齐一张桌子吗?

时间:2010-01-15 16:41:33

标签: html css

我正在尝试使用不同数量的列对齐不同的表,因此前两列是对齐的,其余列是独立对齐但使用%非常困难,当调整窗口大小时,它会失去对齐。

这就是为什么我在td上尝试将混合与%和px对齐,例如

<table>
  <tr>
    <td width="100px"></td>
    <td width="100px"></td>
    <td width="50%"></td>
    <td width="20%"></td>
 </tr>
</table>
<table>
 <tr>
   <td width="100px"></td>
   <td width="100px"></td>
   <td width="70%"></td>
 </tr>
</table>

但由于看起来并不合乎逻辑,所以它似乎不起作用。

有没有办法让这个工作或替代?

4 个答案:

答案 0 :(得分:4)

可以 ... 但是你希望这会做什么?大多数时候,你的桌子将有额外的空间或没有足够的空间,并赢得了'能够兑现您要求的一个或多个宽度。保留宽度未指定的列...

答案 1 :(得分:2)

您必须使用colspan属性才能执行此操作。表的设计使得存在离散的行和列,其中表中的列数等于任何行中的最大TD元素数+这些单元跨越的列数(默认值为1)。因此,您需要为表中的列找出一些基本单位,然后让单元格成为该基数的倍数。

要记住的一件事是,在其中指定较少列的任何行(单个TD列和跨越1列的TD)将从左到右填充尽可能多的列(除非rtl文本是在CSS中指定,所以你可以有不同数量的列的行,因为除非设置了colspan属性,否则TD单元不会溢出它的列(换句话说,TD必须占用整数列,而不是部分栏目)


编辑: 只处理1个表时,您只能使用我所描述的方法。要对齐2个表,请将它们包装在父元素(DIV)中,然后为两个表赋予100%的宽度。然后,您可以控制div的宽度,这将使表内部使用所有可用空间。然后问题变成你必须确保表格以相同的方式填充空间,这更容易,因为它更受控制。

答案 2 :(得分:1)

您可以混合%和px,但您必须将%视为相对于父级。如果表是500px,那么50%将是250px等。

如果表格没有指定宽度,则它会自动调整为内容宽度。如果要混音,这没有任何意义,所以至少应该指定一个表格宽度。

答案 3 :(得分:-1)

您可以使用样式属性添加width

td style="width:120px"