Zentrale Einrichtiung der Navigierleiste

  • Einen schönen guten Tag!

    Ich habe beim Umstellen einer Webseite von mir gerade ein kleines Problem. Bisher habe ich sie immer in zwei Frames geführt: Oben war die Navigierleiste (ein Bild) und unten dann der Inhalt. Leider führt das bei Firefox und Opera dazu, daß immer, wenn im unteren Frame ein Scrollbalken erscheint, sich der Inhalt nach links verschiebt. Meine Seite ist zentriert ausgerichtet, und so kommt es, daß dann die obere Navigierleiste nicht mehr am gleichen Ort ist, wie der untere Inhalt.
    Deswege würde ich gerne die Seite ohne Frames umgestalten. Allerdings sind es hunderte von Unterseiten, in die ich da eingreifen müßte. Einmal würde ich sowas ja noch mitmachen, aber falls sich in der Navigation mal eine änderung ergibt, möchte ich nicht alles noch einmal umschreiben müssen.
    Deswegen hier meine Frage: Bisher benutze ich nur CSS und HMTL. Kann man vielleicht mittels einer zentralen CSS-Datei auch Bilder (mit klickbaren Bereichen!) einbinden, die dann auf jeder Seite erscheinen?

    Viele Dank!

  • nimmst du iframes oder framesets ?

    du könntest des scrolling auf yes stellen (vermutlich momentan auf auto).
    dann wird der platz für die scrollbar immer eingeblendet (auch wenn nix zu scrollen is).

    wennst dann den inhalt oder die navi danach ausrichtest
    (dürfte ja über die css-datei kein großes prob sein),
    sollte des ganze wieder passen...

  • Über CSS den Inhalt einfügen geht nicht, da CSS lediglich für die Formatierungen zuständig ist.
    Du kannst aber den Inhalt eines CSS-Containers mit einem kleinen PHP-Script einfügen (includen).

    PHP
    <div>
    <?php
    include("inhalt.php");
    ?>
    </div>


    In die Datei inhalt.php schreibst du dann dein Menue oder die HTML-Tags für die Grafiken, ganz genauso wie du es mit HTML schreiben würdest.
    Dein Webspace muss dafür PHP-fähig sein und du kannst die Funktionsweise auch nur testen, wenn du die entsprechenden Dateien hochgeladen hast.

  • Danke für die beiden Antworten. Ich nahm bisher an, der scrolling="yes"-Befehl sei nur in I-Frames. Wie baue ich ihn bei einem normalen Frameset ein? Und wird sich dabei nur der Platz bemerkbar machen, oder sieht man dann auch immer zwangsläufig die Leiste? Wenn dem so wäre, würde ich es nämlich nicht gerne wählen.

    Das zweite hört sich ja komplizierter, aber passend an. Vielen Dank auch hierfür! Wenn ich weiß, daß das erste nicht funktioniert, werde ich mich hier ranwagen.

  • Schon wieder ich. Man verzeihe mir die vielen Einträge, aber ich habe noch nie mit PHP gearbeitet.

    Die PHP-Datei, die ich der Einfachheit halber hier auch mal inhalt.php nenne, habe ich jetzt ausschließlich gefüllt mit dem Link zum Bild und den map-Befehlen. War das richtig so?

    Dann habe ich den oben beschriebenen Code in eine meiner normalen HTML-Dateien gepackt. Hier bin ich nun nicht ganz sicher, ob das der richtige Ort dafür war. Jedenfalls passiert nichts, wenn ich die beiden Dateien auf meinen Server hochlade; das Bild ist nicht zu sehen. (PHP-fähig ist der Server aber.)

    Besten Dank im Voraus!

  • Danke für die Geduld. Ich habe es jetzt mit einer reinen Text-php-Datei gemacht, aber leider ohne Ergebnis. Frames habe ich bei diesem Versuch gar nicht integriert, d.h. die Datei, in die ich den Befehl

    PHP
    <div>
    <?php
    include("inhalt.php");
    ?>
    </div>

    eingefügt habe, ist eine ganz banale HTML-Datei. Manchmal muß man bei PHP-Dateien noch irgendwas einstellen auf dem Server selbst (CHMOD), aber das ist hier ja nicht der Fall, oder?

  • Hmm, bei mir hat das so funktioniert. Nochmal zur Sicherheit:
    Du hast eine Datei, z.B. "seite.html"
    In diese Seite fügst du den o.g. Code innerhalb des body-Bereichs ein.
    Die Datei "inhalt.php" enthält lediglich einen beliebigen Text oder auch HTML-Code.
    Beide Dateien befinden sich auf dem Server im gleichen Verzeichnis.
    Falls das dennoch nicht klappt, stell deine Frage nochmal in diesem Forum unter der Rubrik PHP. Ich habe damit gerade erst angefangen, war aber erstaunt, wie einfach gerade dieses Beispiel funktioniert hat.