hotti: Verschachtelung

hi,

soweit habe ich:

  
table td, th, tr{  
	border-collapse: collapse;  
	border-style: hidden;  
	padding: 0.2em;  
	border-width: 0px;  
	border: hidden;  
}  
  
  
table.grid *{  
	border: thin solid silver;  
	border-style: inset;  
	padding: 0.3em;  
	empty-cells:show;  
}  

bin mir aber nicht sicher, ob das richtig ist (* funktioniert, allerdings nehmen dann alle Elemente unterhalb <table class="grid"> diese Eigenschaften an). Was ich möchte: table.grid soll einfach nur Rahmen um die Zellen haben für alle <table class="grid">, wobei <table> ohne Rahmen bleiben sollen.

Sobald ich jedoch zielstrebig notiere

table.grid th,td{/* siehe oben */}

wirkt sich das auf <table> aus.

Bitte mal um Hilfestellung.
Horst Rathlooser

  1. Hallo,

    table td, th, tr{

    border-collapse: collapse;
    border-style: hidden;
    padding: 0.2em;
    border-width: 0px;
    border: hidden;
    }

      
    das wirkt auf alle td-Elemente, die Nachfahren von table sind (sinnlos, denn das sind sie ohnehin), sowie auf alle th- und tr-Elemente.  
      
    
    > ~~~css
    
    table.grid *{  
    
    > 	border: thin solid silver;  
    > 	border-style: inset;  
    > 	padding: 0.3em;  
    > 	empty-cells:show;  
    > }
    
    

    Wirkt auf alle Nachfahrenelemente von table.grid, egal welchen Typs.

    bin mir aber nicht sicher, ob das richtig ist (* funktioniert, allerdings nehmen dann alle Elemente unterhalb <table class="grid"> diese Eigenschaften an).

    Genau das formulierst du auch.

    Was ich möchte: table.grid soll einfach nur Rahmen um die Zellen haben für alle <table class="grid">, wobei <table> ohne Rahmen bleiben sollen.

    Also willst du "table.grid td, table.grid th" selektieren?

    table.grid th,td{/* siehe oben */}

    Da wird table.grid ja nur mit th kombiniert, während _alle_ td-Elemente mitselektiert werden.

    Ciao,
     Martin

    --
    Man sollte keinen Senf von sich geben, wenn man nicht auch das Würstchen dazu liefern kann.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Moin hotti,

    Sobald ich jedoch zielstrebig notiere

    table.grid th,td{/* siehe oben */}

    wirkt sich das auf <table> aus.

    Du hast falsch notiert. Richtig wäre:

    table.grid th, table.grid td, table.grid {  
      border: thin solid silver;  
      border-style: inset;  
      padding: 0.3em;  
      empty-cells:show;  
    }
    

    LG,
     CK

    1. Moin Ingrid,

      table.grid th, table.grid td, table.grid {

      Da wurde irgendwie aus dem table.grid … ein table.grid.

      LG,
       CK

    2. Moin,

      Du hast falsch notiert. Richtig wäre:

      table.grid th, table.grid td, table.grid {

      border: thin solid silver;
        border-style: inset;
        padding: 0.3em;
        empty-cells:show;
      }

        
      Wow, genau das isses, oh mann, danke!!!  
        
      Vielen Dank und herzliche Grüße,  
      Horst Fröhlich  
      
      -- 
      Wer die Fehler bei den Anderen sucht, kann aus den eigenen Fehlern nicht lernen.  
      
      
  3. Hallo

    Sobald ich jedoch zielstrebig notiere

    wirklich?

    table.grid th,td{/* siehe oben */}

    -------------------------------^

    wirkt sich das auf <table> aus.

    natürlich wirkt sich das auf jedes td aus.

    Gruß
    Kalk

    1. zielen will gelernt sein...

      Hallo

      Sobald ich jedoch zielstrebig notiere

      wirklich?

      table.grid th,td{/* siehe oben */}
      ----------------^

      wirkt sich das auf <table> aus.

      natürlich wirkt sich das auf jedes td aus.

      Gruß
      Kalk

  4. Ergänzung, ich bin verzweifelt:

    Was sich wie gewünscht auswirkt ist entweder

      
    table.grid td{}  
     /* ODER */  
    table.grid th{}  
    
    

    ,davon bleiben alle <table> ohne class unberührt. Sobald ich jedoch notiere

    table.grid td,th{}

    Zerhaut mir das die Tabellen mitohne Klassenangabe. Wie geht das zusammen?

    Hilflos Horst

    1. Hi,

      Sobald ich jedoch notiere

      table.grid td,th{}

      Zerhaut mir das die Tabellen mitohne Klassenangabe. Wie geht das zusammen?

      weil für th die Kombination mit table.grid fehlt. Also gelten die Regeln für _alle_ th.
      Works as designed.

      Ciao,
       Martin

      --
      Drei Sachen vergesse ich immer wieder: Telefonnummern, Geburtstage und ... äääh ...
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. Om nah hoo pez nyeetz, hotti!

      Sobald ich jedoch notiere

      table.grid td,th{}

      Zerhaut mir das die Tabellen mitohne Klassenangabe. Wie geht das zusammen?

      Das ist im Prinzip derselbe Fehler wie

      if (a > 5 && < 8).  
      
      

      Matthias

      --
      1/z ist kein Blatt Papier.

      1. hi,

        Sobald ich jedoch notiere

        table.grid td,th{}

        Zerhaut mir das die Tabellen mitohne Klassenangabe. Wie geht das zusammen?

        Das ist im Prinzip derselbe Fehler wie

        if (a > 5 && < 8).

        
        >   
          
        Vergleiche humpeln ;)  
          
        Das Problem war die Kaskadierung in Verbindung mit einem class-Attribute. Wahrscheinlich wäre ich auch von selbst draufgekommen, Eure Hilfe hier im Forum hat mir jedoch viel Zeit erspart, danke nochemal!!!!  
          
        Auf zu HTML5, nachdem ich heute alle meine table-tags von seit Jahren als deprecated eingestuften Attributen befreit habe, steht einem  
        `<!DOCTYPE HTML>`{:.language-html}  
        nun nichts mehr im Weg ;)  
          
        Und jetzt mache ich das, was sich viele von Euch nicht leisten können: Einen Mittagsschlaf.  
          
        Hotti
        
        1. Om nah hoo pez nyeetz, hotti!

          Das ist im Prinzip derselbe Fehler wie

          if (a > 5 && < 8).

          
          > Vergleiche humpeln ;)  
          > Das Problem war die Kaskadierung in Verbindung mit einem class-Attribute.  
            
          Dieser nicht. Problem war, dass du erwartet hast, dass das Komma nur für einen Teil des Selektors gilt.  
            
          Du wolltest ~~~css
          .grid th, .grid tr  
          
          
          (a > 5 && a < 8)  
          
          

          Du schriebst aber  ~~~css .foo th, tr

          ~~~javascript
          (a > 5 && < 8)  
          
          

          Matthias

          --
          1/z ist kein Blatt Papier.

          1. hi,

            Du wolltest ~~~css

            .grid th, .grid tr

              
            Nein. Ich wollte eine class für eine Tabelle mit Gitternetzlinien, so, dass ich class="grid" nur im Table-Tag notieren muss. Mir war nur der/die Syntax nicht gleich klar und ein diesbezügliches Beispiel habe ich in SELFHTML nicht gefunden.  
              
            Hotti ;)  
            
            
            1. @@hotti:

              nuqneH

              Du wolltest .grid th, .grid tr

              Nein. Ich wollte eine class für eine Tabelle mit Gitternetzlinien, so, dass ich class="grid" nur im Table-Tag notieren muss.

              ?? Genau das hast du doch damit.

              Mir war nur der/die Syntax nicht gleich klar

              Ich glaub, dir ist noch einiges mehr nicht klar als das Genus der Syntax.

              Und wo wir bei Grammatik sind: Ich denke, das Präsens ist angebracht. >;-)

              Qapla'

              --
              „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
              1. Und wo wir bei Grammatik sind: Ich denke, das Präsens ist angebracht. >;-)

                SELFHTML: Plusquamperfekt

                Hotti