显然是一个经典问题,但我发现的“解决方案”并没有奏效,包括关于 SO 的各种其他问题。
如果我的表格比它的容器宽,我希望我的表格单元格宽度保持固定,而不是调整大小以适应容器。
可重现的 HTML(<td>
由 PHP 生成):
<html>
<head></head>
<body>
<table>
<tr>
<?php for($i=0;$i<15;$i++) {
echo "<td style='width:150px;border-right:1px solid black;'>".($i+1)."</td>";
} ?>
</tr>
</table>
<div style='background:chartreuse;width:150px'>This is 150px wide.</div>
</body>
</html>
我尝试过的:
-
table-layout:fixed
-
span
容器display:inline-block
设置 -
div
带行内 block 的容器
看来应该有一个简单的方法可以让前面的代码生成一个溢出正文的表格。
有人可以帮忙吗?
编辑
我之前的写法可能看不太清楚,但是我想自己指定列宽。
我试图在不明确指定表格宽度的情况下执行此操作。只有 TD 会迫使 table 变宽,这(应该?)会迫使容器变宽。
此外,内联 CSS 仅用于示例目的。
最佳答案
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div style="margin: 0pt auto; width: 980px;">
<div style="500px;overflow:scroll">
<table style="width: 100%; table-layout: fixed;">
<tbody>
<tr>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
<td style="width:150px;border-right:1px solid black;">This is 150px wide.</td>
</tr>
</tbody>
</table>
<div style="background:chartreuse;width:150px">This is 150px wide.</div>
</div>
</div>
</body>
</html>
关于html - 固定宽度的列表强制在容器上扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7410321/