以下HTML代码在固定宽度的div内创建一个表。似乎“th,td”宽度是从父div继承的(但是W3文档说它不是一个继承的属性!)。
如何增加表格列的宽度(比如500px)?
您可以看到更改“th,td”选择器中的宽度值对宽度没有任何影响。
请注意:
- 我不想改变div的宽度
- 我不想为我的桌子设置固定宽度
- 我试过“table-layout:fixed;”内部表选择器。它没有使“td,th”宽度属性起作用。
<!DOCTYPE html>
<html>
<head>
<style>
table {
border-collapse:collapse;
}
table, td, th {
border:1px solid black;
}
th, td {
/* Changing width doesn't make any difference */
width:500px;
}
.myclass {
width:200px;
overflow:auto
}
</style>
</head>
<body>
<div class="myclass">
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
<th>Expenditure</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
<td>$50</td>
</tr>
</table>
</div>
</body>
</html>
答案 0 :(得分:2)
为什么不使用百分比?
jsfiddle:http://jsfiddle.net/qCYDq/
你也限制自己200px的宽度,如果表格内的文字(文字宽度)大于你的200px它会强制它的宽度然后使你的卷轴出现,因为桌子将拉伸以适应单词。
<!DOCTYPE html>
<html>
<head>
<style>
table {
border-collapse:collapse;
width: 100%;
font-size: 9px;
}
td,th {
border:1px solid black;
width: 25%;
}
.myclass
{
width:200px;
overflow:auto
}
</style>
</head>
<body>
<div class="myclass">
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
<th>Expenditure</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
<td>$50</td>
</tr>
</table>
</div>
</body>
</html>
答案 1 :(得分:1)
最后,让它发挥作用!
“table-layout:fixed; width:100%”诀窍......
<!DOCTYPE html>
<html>
<head>
<style>
table {
border-collapse:collapse;
}
table, td, th {
border:1px solid black;
}
th, td {
/* Changing width doesn't make any difference */
width:500px;
}
.myclass {
width:200px;
overflow:auto
}
</style>
</head>
<body>
<div class="myclass">
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
<th>Expenditure</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
<td>$50</td>
</tr>
</table>
</div>
</body>
</html>