martonno: position:absolute trotz Scrollbar

Hallo alle zusammen,
ich bastele gerade ein bisschen an einer kleinen, einfachen Homepage.
Das ganze habe ich in eine Tabelle gelegt, die ca. 700px breit und zentriert ist. Wird diese Tabelle, oder Seite, nun länger, als dass der Browser sie komplett anzeigen könnte, erscheint, wie üblich, die Scrollbar am Rande des Fensters. Dadurch, dass ich nun die Scrollbar habe, verschiebt sich aber meine Seite in der Tabelle, da das gesamte Fenster ja kleiner wird (Browser - Breite 'Scrollbar').
Kann man das irgendwie umgehen?

Schon mal danke für die Mühen!

Gruß
martonno

  1. Hallo,

    ...

    wenn ich dich richtig verstehe:
    überarbeite dein tabellenlayout. Arbeite lieber mit CSS - ordentlich! ;)

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this
    1. wenn ich dich richtig verstehe:
      überarbeite dein tabellenlayout. Arbeite lieber mit CSS - ordentlich! ;)

      wie immer: derartige kommentare verwirren nur und sind nicht hilfreich - du fügst ein "tu es" hinzu, verrätst aber nicht im ansatz wie bzw begründest nicht, wo der fehler liegt

      1. Hallo,

        wo der fehler liegt

        am tabellenlayout !?!

        MfG. Christoph Ludwig

        --
        Wo die Sprache aufhört, fängt die Musik an...
        Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
        Go to this
        1. wo der fehler liegt
          am tabellenlayout !?!

          na das ist klar, aber die begründung fehlt ;)

          1. Hallo,

            wo der fehler liegt
            am tabellenlayout !?!
            na das ist klar, aber die begründung fehlt ;)

            ok... hier die begründung:
            eine Tabelle ist nicht fürs Layout gedacht, weil sie sonst nicht 'Tabelle' heißen würde sondern anders ;)
            ne Tabelle ist für ne Tabellarische auflistung etc geeignet, aber nicht um Elemente zu positionieren.
            außerdem ist es heutzutage out ;)

            reicht das?  :)

            MfG. Christoph Ludwig

            --
            Wo die Sprache aufhört, fängt die Musik an...
            Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
            Go to this
            1. eine Tabelle ist nicht fürs Layout gedacht, weil sie sonst nicht 'Tabelle' heißen würde sondern anders ;)

              gestelle

              ne Tabelle ist für ne Tabellarische auflistung etc geeignet, aber nicht um Elemente zu positionieren.

              fast :)

              außerdem ist es heutzutage out ;)

              es war niemals "in"

              reicht das?  :)

              nein ;) der kontext zum problem des op fehlt - das rausspammen von "tabellenlayout ist uncool" ohne konstruktiv zu helfen ist etwas unsinnig (für alle beteiligten) dich kostets zeit, der fragesteller hat nix davon

              1. Hallo,
                gestelle

                der is gut ^^

                ne Tabelle ist für ne Tabellarische auflistung etc geeignet, aber nicht um Elemente zu positionieren.
                fast :)

                "fast" ist fast 100% :)

                reicht das?  :)
                nein ;) der kontext zum problem des op fehlt - das rausspammen von "tabellenlayout ist uncool" ohne konstruktiv zu helfen ist etwas unsinnig (für alle beteiligten) dich kostets zeit, der fragesteller hat nix davon

                och ... zeit hab ich genug .. wenn ich daran denke was ich gleich für ne stunde heben werde(ausbildung --> SEN) :)

                MfG. Christoph Ludwig

                --
                Wo die Sprache aufhört, fängt die Musik an...
                Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
                Go to this
  2. Hallo martonno,

    Das ganze habe ich in eine Tabelle gelegt, die ca. 700px breit und zentriert ist. Wird diese Tabelle, oder Seite, nun länger, als dass der Browser sie komplett anzeigen könnte, erscheint, wie üblich, die Scrollbar am Rande des Fensters. [...]
    Kann man das irgendwie umgehen?

    Du willst, dass man nicht scrollen kann? Also verhindern, dass man Deine Texte lesen kann? - Wozu dann überhaupt ins Netz stellen? - Andersrum: es macht keinen Sinn, den Scrollbalken zu verhindern...

    Denke immer daran: es gibt zahllose Auflösungen und die meisten Nutzer haben ihr Browserfenster nicht maximiert. Von daher hast Du eh keine feste Breite, auf die Du dich verlassen kannst. So was hast du nur auf einem Blatt Papier...

    Viele Grüße,
    Marc.

    --
    Und immer schön
    validieren (http://validator.w3.org/)
  3. Hallo,

    Das ganze habe ich in eine Tabelle gelegt, die ca. 700px breit und zentriert ist.

    Übnrigens: Was hat das mit position:absolute zu tun?

    Viele Grüße,
    Marc.

    --
    Und immer schön
    validieren (http://validator.w3.org/)
  4. Nein, das Scrollen möchte ich nicht verhindern. ich möchte nur verhindern, dass die gesamte Tabelle ihre Position verändert. Zentriert man diese, "wandert" sie ja immer mit, je nachdem wie groß das Fenster ist. Ich stell mir das so vor, dass die Seite quasi auf einer anderen Ebene ist, rein theoretisch gesehen, damit die Scrollbar nicht das Browserfenster verkleinert.
    Das sieht eben nicht so gut aus, weil einige Seiten zum scrollen sind und einige nicht.

    Zum css muss ich sagen, dass ich davon relativ wenig ahnung habe. zum beispiel weiß ich nicht, wie ich per css verlinke.

    1. Hi,

      Zum css muss ich sagen, dass ich davon relativ wenig ahnung habe.

      Dann besorg dir welche.
      http://de.selfhtml.org/css/
      http://www.css4you.de/

      zum beispiel weiß ich nicht, wie ich per css verlinke.

      Gar nicht natuerlich. CSS regelt die *Darstellung*.

      Aber "per Tabelle" verlinkst du ja auch nicht - also kann die schon mal rausfliegen, sofern du keine tabellarischen Daten vorliegen hast.

      MfG ChrisB

      --
      „This is the author's opinion, not necessarily that of Starbucks.“
    2. Hallo martonno,

      ich hoffe, Du liest überhaupt noch mit - in letzter Zeit scheinen viele Leute hier einfach reinzuposten und nach einer Weile unterhalten sich nur noch die "Experten", ob die gegebene Hilfe angemessen war, während man vom Original-Poster nichts mehr hört...

      Falls doch ist das Folgende ein Wink mit dem Zaunpfahl - ein Schubs in eine Richtung, in der Du dich dann bitte selber ein bißchen weiter bewegst.

      Nein, das Scrollen möchte ich nicht verhindern. ich möchte nur verhindern, dass die gesamte Tabelle ihre Position verändert. Zentriert man diese, "wandert" sie ja immer mit, je nachdem wie groß das Fenster ist.

      Mir ist schon klar, wie sich der Browser verhält und welche Auswirkung das auf die von Dir angewandte Methode hat. Ich wollte Dir nur die Konsequenz klar machen. Denn das was Du beschreibste passiert nun mal, wenn ein Scrollbalken nötig wird. Ich hätte nie gedacht, dass jemand auf die folgende Idee kommen könnte (mag an meiner Erwartung liegen, offenbar denke ich schon in ausgetretenen Bahnen):

      Ich stell mir das so vor, dass die Seite quasi auf einer anderen Ebene ist, rein theoretisch gesehen, damit die Scrollbar nicht das Browserfenster verkleinert.
      Das sieht eben nicht so gut aus, weil einige Seiten zum scrollen sind und einige nicht.

      Das ist das geringste Problem (obwohl es ganz nett wäre, wenn der Browser ein einmal zentriertes Layout lassen würde, wo es ist - aber wie soll er entscheiden, wann er das machen soll und wann nicht?).

      Deine Methode hat übrigens noch einen großen Nachteil:

      Zum css muss ich sagen, dass ich davon relativ wenig ahnung habe.

      Da du dies so offen sagst, gebe ich dir noch ein paar Tipps, aber nicht ohne den Hinweis: CSS ist für das Aussehen eine Webseite zuständig. Wenn Du nciht schwarze Schrift auf weißem Grund willst, wirst Du Dich damit auseinandersetzen müssen.

      Zu Deinem Problem: zentriert wird, indem man beiden Außenrändern die gleiche Breite gibt. Außenränder heißen margin.

      Diverse Versionen des IE sind zu doof dafür. Die haben glücklicherweise einen zweiten Bug, denn sie zentrieren fälschlicherweise mittels text-align:center auch Block-Level-Elemente.

      Damit diese Methode nicht zu unerwünschten Effekten in allen anderen Browsern führt, solltest du sie explizit für IEs angeben. Dazu hat MS sich Conditional Comments ausgedacht.

      So, das waren jetzt mal einige Hinweise zum Nachschlagen in SelfHTMl und Google, mit denen du sicher ein ganzes Stück weiter kommst. Übrigens gibt es sehr viele fertige Layouts, die ohne Tabellen auskommen. Guck die Dir mal an und lerne von dem, was dort zu sehen und erklärt ist. Viele Beispiele zu allen möglichen typischen CSS-Aufgaben gibt es (nicht nur), wenn Du nach css und play googlest - wahrscheinlich der erste Treffer in Google...

      zum beispiel weiß ich nicht, wie ich per css verlinke.

      CSS regelt nur die Darstellung. Also gar nciht. Du gibst mittels CSS Links nur ein anderes Aussehen. Einem Text zu sagen "Du bist ein Link" ist Sinn einer Auszeichnungssprache wie HTML. Ebenso einem Text zu sagen, dass er vom Typ "tabellarische Daten" ist - das tut Dein HTML mit fast allem, was schlichtweg falsch ist.

      Du benutzt die Elemente von HTML um etwas zu machen, was streng genommen gar kein HTML ist.

      Zum Beispiel Bilder statt Text. Wozu soll das gut sein? Und warum setzt Du mouseover-Effekte mittels JavaScript um? Bist Du so gut in JavaScript, dass Du neben HTML und CSS auch noch das einsetzt? Was weißt Du über Sicherheitsprobleme mit JavaScript? Sind die von Dir eingesetzten Scripte sicher? Oder verbreiten Sie Malware, spionieren Sie Seitenbesucher aus etc...?

      Um die Antwort gleich selber zu geben: wahrscheinlich nicht (habe ich mir jetzt auch nciht angesehen). Aber ich bin mir fast sicher, dass Du Dich darum gar nicht gekümmert hast. So etwas geht nicht! Im Zweifelsfall musst du für so etwas gerade stehen. Vor Gericht! Eine "kleine einfache Homepage" gibt es nicht, jedenfalls nicht in Deutschland. Du wirst Dich mit der Materie schon auseinadersetzen müssen. Entweder man macht etwas richtig oder man lässt es sein!

      Sonst wird aus dem Gefallen für den Ruderverein ganz schnell ein Bärendienst. Der muss dann ja auch für Verstöße gegen Vereinsrecht und ich weiß nciht was gerade stehen (zum Beispiel gehören für Vereine andere Angaben ins Impressum als bei einer Website von Privatleuten, was oft keine "private Website" ist, wie viele denken). Aber das nur am Rande um dir zu zeigen, dass Du noch einiges an Lektüre vor Dir hast...

      Viele Grüße,
      Marc.

      --
      Und immer schön
      validieren (http://validator.w3.org/)
  5. Kann man das irgendwie umgehen?

    setz mal den body auf: height: 101%;

    Gruss Rolf