Dennis: Alternative zu Frames?

Ich möchte eine Seite erstellen in der im unteren Bereich längst über den ganzen Browser ein breiter Balken ist. Also ähnlich wie auf vielen Standardseiten wo links ein Balken ist mit einer Linkliste. Dieser untere Balken soll aber nie seinen Platz verlassen, also egal wieviel der Besucher scrollt und egal wie lang der darüberstehende Inhalt wird. Er soll immer diese Position beibehalten. Nun könnte man das ganze in Frames unterteilen, für die obere hälfte einen und für die untere Hälfte (Balken) einen. Aber Frames möcht ich nicht einsetzen, welche Möglichkeit gäbe es da noch um dies zu verwirklichen?

MFG

Dennis

  1. Hallo Dennis,

    es besteht dier Möglichkeit, die Seite mit dem Tag <div> in bestimmte Bereiche zu unterteilen. einen Bereich am Seitenende könnte etwa so definiert werden:

    <div style="bottom:0px;height:100px;">Hier steht der Inhalt</div>

    In SelfHTML findest Du unter "Elemente zur Textstrukturierung" weiteres.

    HTH Gruß Frank

    1. Hi Dennis,
      zukünftig kannst Du es sicher mal mit der CSS-Eigenschaft position:fixed probieren, nur funktioniert das selbst beim IE5 nicht, und der ist glaube ich noch immer recht weit verbreitet.
      Das Beste ist im Moment wirklich Frames zu benutzen.
      Tschüß
      Carl

      1. hi,

        zukünftig kannst Du es sicher mal mit der CSS-Eigenschaft position:fixed probieren, nur funktioniert das selbst beim IE5 nicht, und der ist glaube ich noch immer recht weit verbreitet.

        bei meinem 6er geht das immernoch nicht :(
        ist 'position:fixed' eigentlich w3c konform? hab noch nie gesehen, dass das wer benutzt hat (kein wunder, ich surf ja auch mitm browser wo das nicht funktioniert).

        tschö

        *stefan

        1. Aloha!

          zukünftig kannst Du es sicher mal mit der CSS-Eigenschaft position:fixed probieren, nur funktioniert das selbst beim IE5 nicht, und der ist glaube ich noch immer recht weit verbreitet.

          bei meinem 6er geht das immernoch nicht :(
          ist 'position:fixed' eigentlich w3c konform? hab noch nie gesehen, dass das wer benutzt hat (kein wunder, ich surf ja auch mitm browser wo das nicht funktioniert).

          Das benutzt in kommerziellen Seiten deswegen keiner, weil der blöde IE es immer noch nicht kann.

          Ich benutze es aber z.B. auf meiner Seite (Link oben). Dadurch bleibt die Navigation dauerhaft im Blickfeld - IMO ganz praktisch. Beim IE scrollt sie eben mit - dein Pech.

          - Sven Rautenberg

        2. Hi!

          bei meinem 6er geht das immernoch nicht :(
          ist 'position:fixed' eigentlich w3c konform? hab noch nie gesehen, dass das wer benutzt hat (kein wunder, ich surf ja auch mitm browser wo das nicht funktioniert).

          Es ist konform, aber M$ schert sich einen Dreck drum. Ausser dem IE und Netscape bis 4, die position:fixed ignorieren, können es meines Wissens nach der Mozilla/ Netscape ab 6, Opera ab 5 (?) und Konqueror ab 3 (oder auch schon 2?).

          Gruß Herbalizer

          1. hi

            Es ist konform, aber M$ schert sich einen Dreck drum. Ausser dem IE und Netscape bis 4, die position:fixed ignorieren, können es meines Wissens nach der Mozilla/ Netscape ab 6, Opera ab 5 (?) und Konqueror ab 3 (oder auch schon 2?).

            es können:

            Opera ab 5.x
            konqueror ab 2.x
            Mozilla so lange, wie ich ihn kenne
            Netscape ab 6.1 (in 6.1 aus irgendwelchen Gründen abgeschaltet)
            MacIE ab 5.x

            ..nur dieser Nieschenbrowser von MS kann das nicht...

            Grüße aus Bleckede

            Kai

  2. hi Dennis,

    frames sind da schon die sicherste lösung. ansonsten könntest du auch deinen balken in einen <div> packen und eine javascript-funktion schreiben, die dafür sorgt, dass sich der balken beim scrollen immer mitbewegt. beispiel: http://www.catfishtoaster.de/catfishtoaster/home.html, díe kleine obere navigation. da könntest du dir auch die javascriptfunktionen rauskopieren, um sie dann bei dir umzuschreiben.

    problem: das ganze wird erstens sicher nicht bei jedem älteren browser funktionieren, und zweitens ists jede menge arbeit. wenn du die funktionalität von frames willst, dann bleib doch am besten auch bei frames.

    tschÖ

    *stefan

  3. Hallo,

    hier ein Beispiel, das man nach Lust modifizieren kann.
    Läuft auf allen gängigen Browsern.
    Viel Spaß damit.
    Gruß riethmunk

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
     <title>Rollmenu</title>
     <script language="JavaScript">
    <!--

    //################################################
    // Browserweiche fuer die gaengigsten Browser
    ns4 = ((document.captureEvents) && (!document.getElementById)) ? true : false;
    ie  = ((document.all) && (window.offscreenBuffering)) ? true : false;
    ns6 = ((document.getElementById) && (!document.all) && (document.documentElement)) ? true : false;
    op = ((document.getElementById) && (navigator.userAgent.indexOf('Opera') != -1)) ? true : false;
    moz = ((document.getElementById) && (navigator.userAgent.indexOf('Mozilla') != -1)) ? true : false;
    //################################################
    if (ie||ns6||op||moz) {
     document.write('<div id="slidemenu" style="position:absolute; left:108px; top:80px"><table width="102" height="52" cellspacing="0" cellpadding="1" border="0"><tr><td width="100%" align="center" bgcolor="#808080"><table bgcolor="#FFFFFF" width="100" height="50" cellspacing="0" cellpadding="0" border="0"><tr><td align="center">Menu Sroll Test</td></tr></table></td></tr></table></div>');
     }
    if (ns4) {
     document.write('<layer id="slidemenu"><table width="102" height="52" cellspacing="0" cellpadding="1" border="0"><tr><td width="100%" align="center" bgcolor="#808080"><table bgcolor="#FFFFFF" width="100" height="50" cellspacing="0" cellpadding="0" border="0"><tr><td align="center">Menu Sroll Test</td></tr></table></td></tr></table></layer>');
     }

    function rollnow() {
     if (ie) {
      element = "slidemenu";
      prop = ".style.pixelTop=";
      y_pos = document.body.scrollTop + 50;
     }else if (ns6||op||moz) {
      element ="document.getElementById('slidemenu')";
      prop = ".style.top=";
      y_pos = window.pageYOffset + 50;
     }else if (ns4) {
      element ="document.slidemenu";
      prop = ".top=";
      y_pos = window.pageYOffset + 50;
     }
     eval(element + prop + y_pos);
     setTimeout("rollnow()",10);
    }
    window.onload = rollnow;
    //-->
    </script>
    </head>

    <body>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    erste Stufe
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    zweite Stufe
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    dritte Stufe
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    vierte Stufe

    </body>
    </html>