Reputation: 70416
I want a table to have fixed width but dynamic height because content may be of various length. Here is an example:
I have fixed width but the content is overlapping. What I am doing wrong? Here is my code:
<table width="60%" align='center' cellpadding='2'
cellspacing='2' border='2' style='table-layout:fixed'>
<thead>
<tr>
<th>#</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>
And my css:
table{
font-size:12px;
}
table td{
padding:5px; height:auto;
background:#f6f6f6;
}
table thead tr th{
background:#d7dbe2;
}
Any ideas how to make the height dynamic?
Upvotes: 2
Views: 19262
Reputation: 72672
I suspect there are no 'breaking points'
(e.g. spaces) in the text. So the text cannot be broke into mulitple lines. One solution would be to add ­
at the places the text may break.
Upvotes: 1
Reputation: 1911
The <th>
width tends to supersede <td>
widths. So simply applying a width to the <th>
(as Kolink said) should solve your overflow problem.
table thead tr th{
width:120px;
}
Upvotes: 0
Reputation: 324640
The problem may be caused by your use of table-layout: fixed
- I would suggest putting style="width: 150px;"
in each of the <th>
tags and removing the table-layout
Upvotes: 0