palme: table und CSS - border:blablabla...

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.

Zumindest klappt es bei mir nicht, indem ich eine Klasse nur im <table> - Tag angebe, dann wird zwar der äußere Tebellenrahmen angesprochen, aber nicht die Zellen!

Gibt's zu meinem Problem eine Lösung?

Schon mal Vielen Dank im Voraus!

MfG

Palme

  1. 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.

    Zumindest klappt es bei mir nicht, indem ich eine Klasse nur im <table> - Tag angebe, dann wird zwar der äußere Tebellenrahmen angesprochen, aber nicht die Zellen!

    Gibt's zu meinem Problem eine Lösung?

    Schon mal Vielen Dank im Voraus!

    MfG

    Palme

    probiers doch mal mit id's:
    <script>
    #deinidname {border:black solid 1px;}
    #deinidname2 {border:red solid 1px;}
    </script>

    <body>
    <table>
     <tr>
      <td id="deinidname">blah</td>
      <td id="deinidname2">blah</td>
     <tr>
    </table
    </body>

    das ganze kannst du beliebig weiterfuehren...

    cu

    1. probiers doch mal mit id's:
      <script>
      #deinidname {border:black solid 1px;}
      #deinidname2 {border:red solid 1px;}
      </script>

      <body>
      <table>
       <tr>
        <td id="deinidname">blah</td>
        <td id="deinidname2">blah</td>
       <tr>
      </table
      </body>

      das ganze kannst du beliebig weiterfuehren...

      cu

      Hallo,

      ...genau deinen Vorschlag wollte ich ja eben verhindern, nämlich dass ich in jeder neuen Zelle muss jedesmal eine Klasse oder eine id angeben!

      Nicht's für Ungut, sorry

      MfG

      Palme

  2. Hallo,
    table ist übergeordnet und vererbt seine Eigenschaften weiter.
    Die Auteilung in thead und tbody sowie die Verwendung von Mehrfachdefinitionen sind möglich,
    table,td .info{border:ridge 1px #000;}

    Besser ist jedoch Du postest den Code.
    Dann kann konkret geholfen werden ;-)

    Michael

  3. Halli,

    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. Eine Klassenangabe in der Tabelle reicht.
    Im CSS:
    table.xy { /* ... */ }
    table.xy td { /* ... */ }
    table.abc { /* ... */ }
    table.abc td { /* ... */ }

    Stichwort: Kontext-Selektoren

    Robert

  4. 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

  5. Hallo,

    Vielen Dank für Eure Antworten, Ihr habt mir sehr geholfen!

    ..klappt jetzt so wie ich mir das vorgestellt habe!

    Nochmals Danke!

    MfG

    Palme