[英]How to correctly set the column widths on my HTML table?
这听起来像是一个基本问题。 我知道如何使用width标签设置列宽。 并通过使用CSS 。
使用以下HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="en-gb" http-equiv="Content-Language">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 1</title>
<style type="text/css">
.tableStyle {
border-collapse: collapse;
border: 1px solid #000000;
}
</style>
</head>
<body>
<table class="tableStyle" style="width: 100%">
<tr>
<td>This is long text</td>
<td>Date Column</td>
<td>Date Column</td>
</tr>
<tr>
<td>This is long text</td>
<td>Date Column</td>
<td>Date Column</td>
</tr>
<tr>
<td>This is long text</td>
<td>Date Column</td>
<td>Date Column</td>
</tr>
<tr>
<td>This is long text</td>
<td>Date Column</td>
<td>Date Column</td>
</tr>
</table>
</body>
</html>
如果可能的话,我想将第2列和第3列设置为显示这些列的内容所需的大小。 并为第1列进行扩展以适合。
现在,我知道我可以将最后两列设置为每列10%。 如果我将表格宽度设置为100%,则第1列将扩展为适合。
但是,由于此HTML模板将用于30多种语言,因此某些语言的列标题包含更多字符。 另外,如果更改字体大小,它也会被丢弃。
那么,有什么方法可以使后两列自动调整为内容大小并扩展为适合第一列?
谢谢。
安德鲁
使用<col>
标记(代表表中的每一列)并设置样式。 这是两种您想要做的事情:
table { width: 100%; }
<table border="1"> <col style="width: 100%"> <col> <col> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> </table>
table { width: 100%; }
<table border="1"> <col> <col style="width: 11%"> <col style="width: 11%"> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> <tr> <td>This is long text</td> <td>Date Column</td> <td>Date Column</td> </tr> </table>
在HTML中使用colspan
将两列width
变成一列
这是您需要应用于所有3列的CSS
.tableStyle {
border-collapse: collapse;
border: 1px solid #000000;
table-layout:auto;
}
它将为您自动调整大小。 加载需要更长的时间,但是可以解决问题! 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.