Matthias Jütte: tbody ohne Bezug zu restlicher Tabelle nach Anwendung von style?

Hallo!

Ich bin heute auf folgendes Problem gestoßen:

Ich habe in einer Datenbank eine simple Dateiverwaltung, unterschieden in Kategorien und zu den Kategorien gehörige Elemente (jeweils nur ein bzw. zwei Strings mit ID und Zuordnungsvariablen). Diese lasse ich durch ein Skript auf einer Seite ausgeben. Pro Kategorie wird eine Tabelle geschrieben, mit dem Kategorienamen im Tabellenkopf und den Kategorieelementen jeweils als eine Zeile im Tabellenkörper.

Der Übersicht möchte ich die Seite so gestalten, daß man zuerst nur die Köpfe sieht und dann per Klick auf einen Link der Tabellenkörper eingeblendet wird. Das klappt soweit auch sehr gut mittels display: none/inline für tbody.

Allerdings verliert der TKörper bei der Anwendung der style-Eigenschaft scheinbar jegliche Bindung an die Tabelle. Während sich die Zellenbreiten des Körpers vorher noch wie gewollt nach denen des Kopfes richteten, ist diese Abhängigkeit nach Anwendung der style-Eigenschaft verloren. Die Gesamtbreite von tbody ist nur noch ca. die Hälfte der Breite von table.

Genauer sieht eine Zeile wie folgt aus:

2 Zellen à 15 px, 1 Zelle ohne feste Breite (diese soll in Abhängigkeit von der Tabellenbreite, die wiederum auf 60% der Seitenbreite eingestellt ist, bestimmt werden), und drei weitere Zellen à 15px.

Blickt da jemand auf Anhieb durch. Könnte in der Tat was recht simples sein, ich jedenfalls bin mit meinem HTML-Latein am Ende.

Gruß

Matthias

--
ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
http://www.makaio.de/quotations
  1. Hi,

    Der Übersicht möchte ich die Seite so gestalten, daß man zuerst nur die Köpfe sieht und dann per Klick auf einen Link der Tabellenkörper eingeblendet wird. Das klappt soweit auch sehr gut mittels display: none/inline für tbody.

    Warum gibst Du dem tbody den Wert inline für die display-Eigenschaft?
    Ich würde den Wert table-row-group für CSS-fähige Browser benutzen.
    Der IE dagegen dürfte den Wert block brauchen.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi!

      Warum gibst Du dem tbody den Wert inline für die display-Eigenschaft?
      Ich würde den Wert table-row-group für CSS-fähige Browser benutzen.
      Der IE dagegen dürfte den Wert block brauchen.

      Genau die Frage habe ich mir eben beim Spülen (was man so alles tun muß, um klar denken zu können) auch gestellt. Allerdings bin ich mit der Antwort nur bis block gekommen. Werde beides nachher mal ausprobieren.

      Mit Zuversicht, daß es klappt, wünsche ich eine gute Nacht!

      Gruß

      Matthias

      --
      ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
      http://www.makaio.de/quotations
      1. Hallo!

        Hat irgendwie doch nicht geklappt, aber ich hätte natürlich auch drauf kommen können anstatt der Unterscheidung in display:block und display:none einfach nur display:none oder gar nichts zu benutzen, da dieser Teil dynamisch von PHP in den Tag des betreffende Elements eingefügt wird. So läuft's dann nämlich ohne Probleme.

        Gruß

        Matthias

        --
        ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
        http://www.makaio.de/quotations