[CSS] position:fixed nur horizontal

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [CSS] position:fixed nur horizontal

    Hi,

    ich versuche, in einer Tabelle eine Spalte (die "linkeste") zu fixieren.

    Im IE geht:
    Code:
    <!--[if IE]>
    <style type="text/css">
    td.locked, th.locked {
      position:relative;
      left:expression(parentNode.parentNode.parentNode.scrollLeft);
    }
    </style>
    <![endif]-->
    Wenn ich jetzt in dem div, das die Tabelle enthält nach rechts scrolle, wandert die fixierte Spalte entsprechend mit.

    Im Firefox geht das nicht, da erreiche ich das gewünschte mit
    Code:
    td.locked[class], th.locked[class] {
      position:fixed;
    }
    Hat nur den Nachteil, dass ich diese Spalte auch sehe, wenn ich auf der Seite nach unten scrolle.
    Wie kann ich Firefox ein position-x:fixed; beibringen? Oder gibt es nichts, was das leistet?
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    Re: [CSS] position:fixed nur horizontal

    Der IE-Hack ist echt übel - nicht mal so sehr wegen expression, sondern wegen dem position:relative: Dessen Auswirkungen sind für Tabellenkindelemente nämlich im Standard explizit als undefiniert gekennzeichnet.

    Wie kann ich Firefox ein position-x:fixed; beibringen? Oder gibt es nichts, was das leistet?
    Nein, eine CSS-Eigenschaft dafür gibt's nicht.

    Da könnte man also auch höchstens Workarounds basteln.
    Rein per CSS fällt mir da gerade auch nichts schönes ein - bliebe wohl auch nur Javascript: Scrollposition des Dokumentes ermitteln [1], und Tabellenspalte (bzw. einzelne TDs) dann absolute positionieren, an passend ausgerechneter Stelle. (Oder halt bei fixed bleiben, und dann lediglich eine Koordinate ständig anpassen.)


    [1] Da Firefox m.W. onscroll nicht unterstützt, muss man dann hier nochmal aroundworken - bspw. mit einem setInterval, mit dem in kurzen Abständen die Scrollposition immer wieder abgefragt und verglichen wird.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wenn ich nicht position:relative im IE nehme, funktioniert es nicht, da die Expression schlichtweg ignoriert wird.

      Im Firefox macht mir das position:fixed trotz unterstütztem onscroll Sorgen.

      Schau dir doch bitte mal die angehängte Datei an.
      Mit position:absolute für den Firefox geht's zwar in diesem Fall, doch wenn die Tabelle(n) etwas komplexer werden, passen verschiedene Rahmen um die einzelnen Zellen nicht mehr zusammen
      Angehängte Dateien
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar

      Lädt...
      X