Horizontale Navigation



  • Hallo *,

    ich moechte eine Web-Site programmieren. Auf dieser moechte ich die (Haupt-)Navigation oben horizontal anordnen. Wird ein Menupunkt ausgewaehlt so moechte ich die (Unter-)Navigation dann vertikal links auf dem Bildschirm anordnen.
    Wie realisiert man das am besten? (Wenn moeglich auch ohne Javascript.)

    mfg
    tom



  • Mit Frames geht das am Einfachsten, auch wenn das hier nicht willkommen ist und man hier davon ausgeht, dass das nicht die Performance beeinflusst (positiv), sage ich: Frames sind gut für die Performance der Website, denn Frames werden nicht immer mitgeladen, wenn du etwas auswählst.



  • Einfach auf der Unterseite seitlich das Menü einbauen - was genau ist dein Problem?


  • Mod

    Windoof schrieb:

    Frames sind gut für die Performance der Website, denn Frames werden nicht immer mitgeladen, wenn du etwas auswählst.

    Was genau ist für dich Performance? Ladezeiten? Die sind nicht wirklich geringer, vielleicht um 1% wenn es hochkommt - allerdings beim ersten laden wohl etwa 10% länger als ohne Frames (und wir alle wissen, dass das erste Laden der Seite das wichtigste ist).

    Oder meinst du die Dauer zum darstellen der Seite? Da sind Frames natürlich etwas schneller, da ja nicht die ganze Seite gerendert werden muss - mit Ausnahme beim ersten Rendern - dann da müssen ja die Frames selber auch gerendert werden.

    Oder meinst du etwas anderes?

    Aber heutzutage sollte man keine Frames mehr für normale Webseiten verwenden - Frames haben nur einen kleinen Einsatzbereich (zB bei Chats oder bei einigen anderen Webapplikationen)



  • OK, um es zu verdeutlichen: Du hast ein Menü, im Frame, das evtl. sehr komplex / groß ist. Wenn du da auf einen Link klickst, wird eine Seite geladen, wir lassen sie jetzt mal im 2. Frame anzeigen. Diese Seite wird garantiert schneller geladen sein als wenn du das Menü nicht in einen Frame packst sondern alles beispielsweise nur in Tabellen. Ich merke es ja selbst auf meiner Website.



  • Shade Of Mine schrieb:

    Frames haben nur einen kleinen Einsatzbereich (zB bei Chats oder bei einigen anderen Webapplikationen)

    Endlich höre ich nicht immer nur: "Frames sind doof"

    Frames haben durchaus auch eine Sinn bei Chats.

    Für so ein Menü braucht man keine Frames. CSS ist da viel besser und sogwar schneller. Ich habe so eine Seite mit Menü und Frames. Umgebaut auf CSS und subjektiv schneller.



  • @123_tom_dabei,
    da du von Programmieren sprachst nehme ich mal an, dass du auch PHP verwenden willst/kannst. Das Haupmenü sollte ja eigendlich kein Problem darstellen. Für das seitliche Untermenü würde ich eine PHP-Funktion schreiben.

    <div class="...">
    <?php ZeigeUntermenu( 'Bezeichnung' ); ?>
    </div>
    
    <?php
    function ZeigeUntermenu( $sName )
    {
      switch ( $sName )
      {
        case "Dienste": 
          echo(  '<a href="...">Element1</a>' );
          echo(  '<a href="...">Element2</a>' );
          echo(  '<a href="...">Element3</a>' );
          ...
          break;
        case "Software": 
          echo(  '<a href="...">Element1</a>' );
          echo(  '<a href="...">Element2</a>' );
          ...
          break;
      };
    };
    ?>
    


  • Oder ein Templatesystem a'la Smarty (http://smarty.php.net) verwenden. Erfordert eine gewisse Einarbeitungszeit, ist dafür später umso nützlicher und flexibler.



  • Bei mir sind Frames schneller... besonders mit dem Menü, wo wirklich hunderte von Einträgen drin sind...



  • Windoof schrieb:

    Bei mir sind Frames schneller... besonders mit dem Menü, wo wirklich hunderte von Einträgen drin sind...

    Da freut sich aber der Besucher deiner Seite, dass er dieses übersichtliche Menü nicht immer wieder neu laden muss... Aber mal im Ernst: Ein richtiges Menü ist doch nicht viel größer als 1KB. Das kann man selbst mit einem Modem verschmerzen. Ein besseres Argument ist da schon die Vermeidung von Traffic, was sich vor allem auf vielbesuchten Seiten bemerkbar machen sollte.



  • Ich finde Frames einfach störend. Wie Shade Of Mine schon sagte in Ausnahmefällen ist das noch zu verschmerzen aber sonst. Wenn ich eine Seite abspeichere, möchte ich nicht unbedingt darauf achten müssen ob ich gerade im richtigen Frame stehe. Frames gehen meist auch einher mit JavaScript, welches einige Nutzer nicht eingeschaltet haben. Diesen Personen müsste man dann eine Alternativseite anbieten. Weiterhin stören mich die Scrollbars, vor allem wenn ich mein Browserfenster nicht maximiert habe.

    Fazit: Ich bin der Meinung, dass normale Internetseite ohne Frames auskommen. Und wenn es um den Ladegeschwindigkeit der Seite geht, sollte man lieber weniger Grafiken verwenden als zu versuchen ein bisschen Text einzusparen.



  • Dasd schrieb:

    Ein besseres Argument ist da schon die Vermeidung von Traffic, was sich vor allem auf vielbesuchten Seiten bemerkbar machen sollte.

    Ein mit externen CSS formatiertes Menü wird sogar wesentlich weniger Traffic verursachen als eine direkt formatierte Frameseite da die CSS gecached werden können.

    Loggy hatte dazu mal Erfahrungsberichte gepostet, weiß aber nicht ob man die noch ohne weiteres finden wird...


  • Mod

    Windoof schrieb:

    Bei mir sind Frames schneller... besonders mit dem Menü, wo wirklich hunderte von Einträgen drin sind...

    Hochachtung an den User, der sich da noch raussieht.

    Also immer wenn ich mehr als 10 Einträge im Menü habe, bekomme ich bauchweh.

    Vernünftig ist in etwa: 7 Menüeinträge und pro Menüeintrag 4-6 Submenü Einträge und dann maximal noch einmal ein submenü mit maximal 3 einträgen.

    Und das ist bereits verwirrend genug.

    Erklär mal was das für eine Webseite ist. Würde mich echt interessieren wer da die Zielgruppe ist... Denn ich naivling fühle mich manchmal sogar bei Amazon verloren - obwohl die ein super übersichtliches Menü haben...

    Oder war das einfach nur ein post ala "Argumente sind mir egal, ich will es halt so"? Denn die Nachteile von Frames kann man ja in den FAQ nachlesen.



  • Vor einiger Zeit hatte ich mal einen komplexes Menü mit PHP realisiert. Den Code finde nur leider nicht mehr. Es funktionierte so:

    Man hat eine Datei z.B. menu.txt mit dem Inhalt

    +|Element1|<Pfad>
    ++|Unterelement1|<Pfad>
    ++|Unterelement1|<Pfad>
    ++|Unterelement1|<Pfad>
    +|Element1|<Pfad>
    ++|Unterelement1|<Pfad>
    +|Element1|<Pfad>
    +|Element1|<Pfad>
    

    Und dann gab es eine PHP Funktion, die aus dieser Datei ein Menü generierte. Die Pfadangaben waren leider absolut (kann man bestimmt verbessern). Auf jeden Fall war das Menü durch die Datei einfach zu administrieren.


Anmelden zum Antworten