Jörg: CSS Vererbung/Verschachtelung

Hallo,

ich versuche gerade mein style-sheet und den quellcode etwas zusammenzufassen. dabei habe ich folgenden code:

table.aussen {
  border: 1px solid black;
}
table.aussen td {
  border: 1px solid black;
}

<table class="aussen">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
      <table width="100" border="0">
        <tr>
          <td>soll kein border erhalten</td>
        </tr>
      </table></td>
    <td>&nbsp;</td>
  </tr>
</table>

logischerweise erhalten die td's der ersten tabelle einen border und leider auch die td's der zweiten tabelle.
gibt es eine möglichkeit dasss die td's der zweiten tabelle diese eigenschaften nicht erben?

gruß Jörg

  1. Hi,

    gibt es eine möglichkeit dasss die td's der zweiten tabelle diese eigenschaften nicht erben?

    Du kannst den Kindselektor (">") an Stelle des Nachfahrenselektors (" ") verwenden, unter Beachtung _aller_ Nachfahren eines <table>. Da dies recht viele sind (und der IE zu doof dafür ist) empfehle ich, die Rahmen für ein hineingeschachteltes <table> wieder zu entfernen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    logischerweise erhalten die td's der ersten tabelle einen border und leider auch die td's der zweiten tabelle.
    gibt es eine möglichkeit dasss die td's der zweiten tabelle diese eigenschaften nicht erben?

    z. B:

    table.innen    {width:100px}
    table.innen td {border: none}

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. hallo,

      vielen dank für die schnelle hilfe!

      ich hab mich vielleicht etwas falsch ausgedrückt.
      die erste tabelle soll alle border's erhalten, weitere tabellen die in dieser tabelle liegen sollen diese eigenschaften jedoch nicht erhalten.

      gruß Jörg

      1. Hi,

        die erste tabelle soll alle border's erhalten, weitere tabellen die in dieser tabelle liegen sollen diese eigenschaften jedoch nicht erhalten.

        Genau das erreichst Du so:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
        <html>
        <head>
        <style type="text/css">
        .aussen    {border:1px solid black}
        .aussen td {border:1px solid black}
        .innen     {border:none}
        .innen td  {border:none}
        </style>
        </head>
        <body>
        <table class="aussen">
        <tr>
         <td>
          <table class="innen">
          <tr>
           <td>innen 1</td>
           <td>innen 1</td>
          </tr>
          </table>
         </td>
        </tr>
        </table>
        </body>
        </html>

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
        1. Hi,

          .innen     {border:none}

          wozu diese Klassengesellschaft?

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  3. Hi,

    gibt es eine möglichkeit dasss die td's der zweiten tabelle diese eigenschaften nicht erben?

    wenn es keine weiteren Tabellen hierin gibt, geht das am einfachsten über
    table table, table table td { border:0; }

    freundliche Grüße
    Ingo