Hallo,
gehen wir davon aus, ich hätte 10 tabellen, die alle unterschiedlich breit sind und auch deren spalten unterscheiden sich innerhalb der jeweiligen tabelle in den breiten. dann hätte ich sehr viele klassen in der css und würde ich dort etwas ändern, würde es auch nur eine tabelle betreffen. es bläht halt die CSS datei auf und hat nicht wirklich einen vorteil. Deswegen meine frage, ob es dafür einen Trick gibt, das besser gestalten zu können.
Hier mal ein Beispiel für eine HTML-Tabelle mit CSS-Layout für die häufigsten aktuellen Browser:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Datentabelle</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
<!--
#tbl01 { width:70ex; border:1px solid black; background-color:#FFFFFF; }
#tbl01 caption { font-weight:bold; }
#tbl01 td, #tbl01 th { border:1px solid black; }
#tbl01 col.sp01 { width:45%; text-align:left; background-color:#DFDFDF; }
#tbl01 col.sp02 { width:30%; text-align:left; background-color:#CFCFCF; }
#tbl01 col.sp03 { width:25%; text-align:right; background-color:#BFBFBF; }
#tbl01 tr>th, #tbl01 tr>td { width:45%; text-align:left; background-color:#DFDFDF; }
#tbl01 tr>th+th, #tbl01 tr>td+td { width:30%; text-align:left; background-color:#CFCFCF; }
#tbl01 tr>th+th+th, #tbl01 tr>td+td+td { width:25%; text-align:right; background-color:#BFBFBF; }
-->
</style>
</head>
<body>
<table id="tbl01" summary="Tabelle mit Personaldaten Name, Vorname und Geburtsdatum">
<caption>Tabelle 1, Personendaten</caption>
<colgroup>
<col class="sp01">
<col class="sp02">
<col class="sp03">
</colgroup>
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Vorname</th>
<th scope="col">Geburtsdatum</th>
</tr>
</thead>
<tbody>
<tr>
<td>Müller</td>
<td>Klaus</td>
<td>22.06.1967</td>
</tr>
<tr>
<td>Maier-Jansen</td>
<td>Janina</td>
<td>02.06.1978</td>
</tr>
</tbody>
</table>
</body>
</html>
Ausnahmsweise gilt hier mal, dass der IE mit der Formatierung von COL-Elementen am besten klar kommt. Andrere, sonst standardkonforme Browser setzen hier nur width und background um.
Weitere Tabellen bekommen dann andere IDs und können dann mit ähnlichem CSS formatiert werden. Das CSS ist allerdings für jede Tabelle einmal notwendig, wenn sich alle Formate unterscheiden sollen.
Zum Lesen zusätzlich zu SelfHTML:
über Tabellen: http://www.w3.org/TR/html4/struct/tables.html
über CSS Selektoren: http://www.w3.org/TR/CSS21/selector.html
viele Grüße
Axel