Wormling: für mehrere Frames nur ein Hintergrundbild

Hallo,
ich habe da in Problem... Also ich habe 3 Frames und müchte nun per ausgelagertes CSS Ein Hintergrundbild für alle (also nur ein grosses) haben. Wen ich nun:

<LINK HREF="style.css" REL=stylesheet TYPE="text/css" TITLE="stylesheet1">

in die index.html schreibe zunzts net, wenn ich in jeden frame einzelnt schreibe macht der drei mal das bild.

Bitte helft mir...

  1. Hallo Wormling,

    ich habe da in Problem... Also ich habe 3 Frames und müchte nun per ausgelagertes CSS Ein Hintergrundbild für alle (also nur ein grosses) haben.

    Möglichkeit 1: Hintergrundbild aufsplitten, den einzelnen Frames feste Größen zuweisen, jedem Frame ein Teilhintergrundbild geben, sämtliche Rahmen unsichtbar machen.

    Möglichkeit 2: Eine Datei mit besagtem Hintergrund einrichten; das, was die Frames machen sollten, mit CSS-Positionierung und z. B. SSI erledigen lassen.

    Viele Grüße,

    <-- Martin />

  2. Hallihallo!

    Man kann, wie Du ja mit Deinem Versuch festgestellt hast, einzelnen Frames je ein Hintergrundbild zuweisen, nicht aber einem kompletten Frameset.
    Das liegt daran, daß für den Browser jedes Frame ein komplett eigenständiger Anzeigebereich, quasi ein eigenes Fenster ist.

    Wenn man es theoretisch machen will, könnte man auch argumentieren, daß ein Hintergrundbild immer einem BODY zugewiesen wird, ein Frameset jedoch per Definition keinen BODY haben darf...

    Es gibt nun mehrere Möglichkeiten, mit denen Du Dir helfen kannst:

    1. (Das werden Dir hier wahrscheinlich die Meisten raten)
         Verzichte auf Frames. Dank der Serverseitigen Techniken wie PHP
         und SSI ist man in den meisten Fällen nicht mehr auf Frames angewiesen,
         zumindest nicht mit dem Argument der Tipparbeit.
         SelfHTML bietet auch Seiten zu diesen Themen an.

    Das Ganze funktioniert dann so, daß Du einzelne Dateien auf dem
       Server hinterlässt, die der Server dann vor dem Ausliefern in eine
       einzige Datei zusammenbaut.

    Besonders sinnvoll wäre in diesem Zusammenhang die Benutzung von
       Ebenen (Layern / Divs), die man sogar noch viel flexibler positionieren
       kann als Frames...

    1. (Falls Du aus irgendwelchen Gründen nicht auf Frames verzichten kannst/ willst)
         Du kannst ohne Probleme eine CSS- Angabe zur Quelle des Hintergrundbildes
         in eine externe CSS- Datei auslagern.
         Für das korrekte Ansprechen dieser externen CSS-Datei solltest Du
         übrigens die link-Attribute in Anführungszeichen setzen:
         <link href="style.css" rel="stylesheet" type="text/css">
         Die title- Angabe ist unnötig...
         In dieser CSS- Datei kannst Du wie gehabt die Quelle des Hintergrundbildes
         einbauen.
         Nun erweiterst Du Deine Dokumente, die im Frame angezeigt werden sollen,
         noch um einen "internen" CSS- Block im <head>- Bereich:
         <style type="text/css">
           body {
             background-position: ......;
           }
         </style>
         Siehe dazu http://selfhtml.teamone.de/navigation/css.htm#hintergrund

    Die Werte für background-position setzt Du nun so, daß Du drei
       Ausschnitte Deines Hintergrundbildes zu einem großen zusammensetzt.

    Das funktioniert leider nur mit Framesets, in denen die einzelnen
       Frames eine _feste_ Größe haben.
       Solltest Du Angaben wie z.B.
          cols="30%,*"
       in Deinem Frameset benutzen, wird das nicht funktionieren, zumindest nicht
       für jede Browserfenstergröße.
       In dem Fall sähe ich keine Lösung für Dein Problem.

    Ich hoffe, damit konnte ich Dir ein Wenig weiterhelfen...

    Viele liebe Grüße,
    Der Dicki