我有一个包含1行和5列的表格。我已将这5列的宽度固定为某些已知值(150px,200px等)。我还为每一个设置了左边距。
我希望表格变宽并占据其父级的整个宽度。所以,我将其宽度设置为 100%。当表格宽于5列的组合宽度和边距时,会导致它们在整个表格中展开,留下间隙。
但是,我希望这5列保留在左侧。
为实现这一目标,我添加了第6列,并将其宽度设置为 auto ,希望它能正确地将前5个向左推,并占用剩余空间。它适用于Firefox和Chrome。但它在IE中不起作用。在IE中,5列仍然在桌子上均匀分布。
我尝试将第6列的宽度设置为 100%而不是auto。但问题是,它正在消除5列的左边距!有点像,100%的列将左边的5列向左推,它们的边缘消失了!
我希望保留前5列的填充,边距和宽度,但是要向左推,但表格应该扩展为与其父级一样宽。
该表的背景图片需要显示超出5列。
有些人可能会建议我将背景移到桌子的父母那里,但我不能 - 接受我的话:D
如何在Firefox,Chrome和IE中使用它?
感谢。
以下是链接:http://test.greedge.com/table/table.php。在FF和IE中试用
答案 0 :(得分:1)
编辑:解决方案很简单:将
添加到最后一列表格中的一个td。
不会渲染inlying表的表格单元格,因为它不包含任何内容。因此,最后一个单元格也不包含任何内容,不会被渲染,其他单元格必须在它们之间分割可用空间。
我不知道哪个浏览器在这里做正确的事情,所有IE浏览器(包括8个)都没有渲染列,所有其他浏览器都这样做。
旧回答:
,列不应该有边距margin-right,margin-left
适用于:除了table-caption,table和inline-table之外的表格显示类型的元素以外的所有元素
您需要在单元格内使用填充。
自动列应该在您描述的场景中的任何浏览器中工作(只是不指定任何宽度)。你可以发布一个不起作用的表的在线示例吗?