lina-: hängen td und th zusammen?

moin :)

ich habe hier ein seltsames Phänomen in CSS:

<style type="text/css">
     td{text-align:center;cursor:pointer}
     td.current{background-color:#FFFF80;}
     a.beginMonth{color:#808080}
     a.endMonth{color:#000000}

</style>

Will also heissen, dass der Text in den Zellen der Tabelle zentriert ist und der Mauszeiger über diesen Elementen der Pointer sein soll.
Soweit so schön! Funktioniert auch prima!

Allerdings habe ich in meinem HTML noch Tableheader (<th>) - und diese haben als Maus den Pointer sind aber nicht zentriert.
Wenn ich nun einen Link oder dergleich im <th> drin haette - wuerde mich das auch nicht weiter verwundern - dem ist aber nicht so.

Kann mir das jemand erklaeren???
Vielleicht als Hinweils noch: meine Tabelle wird dynamisch mit Javascript erzeugt (also mit createElement()) und ich habe schon alles durchforstet - weder sind diese Elemente hierarchisch voneinander abhängig, noch haben sie weitere Style-Attribute im Javascript erhalten. Seltsam seltsam...

liebe Grüße aus Berlin
lina-

--
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  1. Allerdings habe ich in meinem HTML noch Tableheader (<th>) - und diese haben als Maus den Pointer sind aber nicht zentriert.
    Wenn ich nun einen Link oder dergleich im <th> drin haette - wuerde mich das auch nicht weiter verwundern - dem ist aber nicht so.

    Kann mir das jemand erklaeren???

    Nö.
    Bist du sicher dass die Elemente th Elemente sind?

    Struppi.

    1. moin :)

      Nö.
      Bist du sicher dass die Elemente th Elemente sind?

      Ziemlich...
      document.createElement("table");
      document.createElement("tr");
      document.createElement("th");
      document.createElement("th");
      document.createElement("tr");
      document.createElement("td");
      document.createElement("td");
      ... (weitere Zeilen und Zellen)

      und der DOM-Inspector von Firefox bestätigt meine Vermutung.

      liebe Grüße aus Berlin
      lina-

      --
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. document.createElement("table");

        Du solltest hier noch ein tbody Element einfügen. Ansonsten stellt der IE die Tabelle nicht dar.

        document.createElement("tr");
        document.createElement("th");
        document.createElement("th");
        document.createElement("tr");
        document.createElement("td");
        document.createElement("td");
        ... (weitere Zeilen und Zellen)

        Ansonsten kann ich das trotzdem nicht nachvollziehen bei mir wurden bisher immer die th und td Elemente unterschiedlich dargestellt und auch das CSS hat sich nicht gegenseitig beeinflußt.

        Struppi.

        1. moin :)

          Du solltest hier noch ein tbody Element einfügen. Ansonsten stellt der IE die Tabelle nicht dar.

          hab ich... wollte nur nich alles posten ;)

          Ansonsten kann ich das trotzdem nicht nachvollziehen bei mir wurden bisher immer die th und td Elemente unterschiedlich dargestellt und auch das CSS hat sich nicht gegenseitig beeinflußt.

          Da ich es auch nicht nachvollziehen konnte und eine Lösung aber her musste, hab ich das jetzt so gelöst: _jedes_ th und _jedes_ td bekommt eine style-class (und zwar jedes die gleiche - ausser current natuerlich *g*)
          Damit hats dann wunderbar funktioniert.
          Danke trotzdem fürs Helfen :)
          liebe Grüße aus Berlin
          lina-

          --
          Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  2. moin :)
    hab jetzt ein ganz neues CSS-Problem in meinem Thread:

    Das gesamte Geraffel, das ich dynamisch generiere liegt in einem div.
    Dieses Div soll absolut positioniert sein und per button ein- bzw. ausgeblendet werden. Ist das Div eingebledet liegen 4 Elemente darunter (aus einer Form) - zwei Texte und zwei Eingabefelder, wobei die Eingabefelder an der Seite ein wenig "rausguggn"

    Dazu meine erste Style-Angabe:
    div.cal{position:absolute;visibility:hidden}

    in diesem div erscheint dann die dynamische Tabelle, die folgende CSS-Angaben bekommt:
    table.cal{border:0px;border-collapse:collapse}
    in dieser Tabelle wird eine colgroup angelegt (mit der Angabe width=20)

    All das funktioniert im FF/Moz super!
    Nur der IE ärgert mich mal wieder :]
    1. die beiden Eingabefelder liegen bei eingeblendetem div _über_ dem gif!
    2. die width-Angabe der colgroup greift nicht (btw. greift auch kein css-width für colgrou oder td bzw. keine feste Breite der tds --> alles schon probiert)

    Nun habe ich ein weinig mit den CSS-Eigenschaften für IE (alles fein säuberlich getrennt) rumgespielt:

    • hat das div die Angabe position:relative oder static, klappt zwar die Breiteneinstellung - aber das div passt sich fein säuberlich in den flow ein --> also keine Überdeckung der Elemente (was zu erwarten war)
    • hat das div die Angabe position:fixed, sieht es genauso aus wie bei relative (???) Sollte sich das hier nicht überlappen wie bei absolute? (was im FF auch funktioniert)

    Nun meine Fragen:
    Weiss jemand, warum beim IE6 und der Angabe position:absolute die Breitenangaben ignoriert werden?

    Kann mir jemand verraten, wieso die Angabe fixed für IE nicht so geht wie sie sollte?

    Wie kann ich den IE überreden, das div so darzustellen, wie ich das möchte???

    vielen Dank schonmal :)
    lina-

    --
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
    1. Hi,

      Nun meine Fragen:
      Weiss jemand, warum beim IE6 und der Angabe position:absolute die Breitenangaben ignoriert werden?

      vielleicht liegt's an visibility:hidden. Aber auch colgroup ist im IE AFAIR problematisch.

      Kann mir jemand verraten, wieso die Angabe fixed für IE nicht so geht wie sie sollte?

      Der IE kennt diese Eigenschaft nicht.

      freundliche Grüße
      Ingo