Axel Richter: table und CSS - border:blablabla...

Beitrag lesen

Hallo,

wenn ich für eine Tabelle mittels CSS einen Rahmen bestimmen möchte, z.B. mit

{border:1px solid #000000}

und diesen Rahmen auch für die Zellen haben möchte, kann ich dies natürlich z.B. mit

td {border:1px solid #000000}     tun,

wenn ich aber nun Tabellen mit unterschiedlichem Rahmenaussehen erstellen möchte (in ein und derselben HTML-Datei!), kann ich dies ja auch tun, indem ich Klassen definiere.

...aber dann muss ich doch jedesmal in meiner Tabelle im <td> - Tag die Klasse angeben, also <td class="xy"></td> <td class="xy></td> ...usw.

Nein. Du musst table als Elternelement für die td betrachten. Siehe:
http://selfhtml.teamone.de/css/formate/zentrale.htm#verschachtelte_elemente

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">
<!--
table.blaudick, table.blaudick td {border:2px solid blue;}
table.gruendots, table.gruendots td {border:1px dotted green;}
-->
</style>
</head>
<body>
<table class="blaudick">
  <tr>
    <td>Test</td>
    <td>Test</td>
  </tr>
</table>
<hr/>
<table class="gruendots">
  <tr>
    <td>Test</td>
    <td>Test</td>
  </tr>
</table>
</body>
</html>

Erläuterung:

table.blaudick, table.blaudick td {border:2px solid blue;}

Die Angabe
table.blaudick
setzt CSS für eine table mit der class "blaudick". Gleichzeitig (Kommatrennung) wird mit
table.blaudick td
CSS für alle td gesetzt, die in dieser Tabelle vorkommen.

Gruß

Axel