Nee. het fixeert de breedte van de kolommen. Een opgegeven breedte wordt gelijkmatig over alle kolommen verdeeld, dus niet naar ratio van inhoud, zoals normaal.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| <html>
<head>
<style type="text/css">
table {
border:1px solid #000;
}
td {
border:1px solid #000;
}
</style>
</head>
<body>
<table style="table-layout:fixed;">
<tr>
<td>1</td>
<td>12</td>
<td>123</td>
<td>1234</td>
<td>12345 12345 12345 12345 12345</td>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>12</td>
<td>123</td>
<td>1234</td>
<td>12345 12345 12345 12345 12345</td>
</tr>
</table>
</body>
</html> |
Dat wil ik niet; de cel met de breedste content moet bepalend zijn voor de breedte van elke kolom.
Kan niet. sorry. Je zult achteraf met JavaScript breedtes moeten gaan opvragen en zetten.
edit:
Was eigenlijk vrij makkelijk

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
| function equalize() {
var oTable = document.getElementById('eqTable');
var aTD = oTable.getElementsByTagName('td');
var iWidth = 0;
for(var i=0; i<aTD.length; i++) {
iWidth = Math.max(aTD[i].offsetWidth, iWidth);
}
for(var i=0; i<aTD.length; i++) {
aTD[i].style.width = iWidth + 'px';
}
} |
[
Voor 15% gewijzigd door
Verwijderd op 05-08-2006 22:47
]