Referenzieren von Hintergrundbildern in zentraler css-Datei
Beate
- css
0 Alexander0 Sven Rautenberg0 Kai Lahmann0 Beate
CSS und kein Ende :-(
Vielleicht kann mir jemand von Euch einen Tipp für folgendes Problem geben:
Ich habe alle css-Formatierungen in 1 zentralen "mystyles.css" Datei abgelegt, die sich mit der Mehrheit der übrigen html-Dateien im gleichen Verzeichnis befindet.
In der css-Datei sind u.a. auch classes enthalten, denen Hintergrundbilder zugewiesen wurden (und dementsprechend mit ihrer URL aufgeführt werden müssen).
Nun die Frage: bezieht sich der Pfad, den ich für die Hintergrundbilder angeben muss, auf die Lage der Bilder zur "mystyles.css"-Datei? Oder auf ihre Lage zu der Datei, in der die css-styles letztendlich angewendet werden?
(Die Frage stellt sich für eine geringe Anzahl von html-Dateien, die bei mir in Unterordnern liegen und sich wie alle anderen auf die zentrale css-Datei beziehen - für diese wäre der Pfad der Hintergrundbilder dann nämlich ein anderer...)
Vielen Dank und Grüße aus dem hohen Norden,
Beate
Hi,
(Die Frage stellt sich für eine geringe Anzahl von html-Dateien, die bei mir in Unterordnern liegen und sich wie alle anderen auf die zentrale css-Datei beziehen - für diese wäre der Pfad der Hintergrundbilder dann nämlich ein anderer...)
Nimm doch einfach absolute Pfade, dann hast Du gar keine Probleme...
Im übrigen sind die Pfade relativ zu den HTML-Dateien, also im Unterverzeichnis sind andere Pfade nötig.
Grüße
Alex (:
Moin!
Nimm doch einfach absolute Pfade, dann hast Du gar keine Probleme...
Genau. Weil...
Im übrigen sind die Pfade relativ zu den HTML-Dateien, also im Unterverzeichnis sind andere Pfade nötig.
...das zwar laut Standard nicht stimmt (die Pfadangaben in den CSS-Dateien sind relativ zur Position der CSS-Datei, nicht zur einbindenden HTML-Datei), sich aber Netscape 4 daran nicht unbedingt hält (und vermutlich einige frühe CSS-Browser auch nicht).
- Sven Rautenberg
hi
Im übrigen sind die Pfade relativ zu den HTML-Dateien, also im Unterverzeichnis sind andere Pfade nötig.
Quatsch!
Das macht nur Netscape 4 so. Laut CSS-Spec (und auch laut verhalten in allen anderen mir bekannten Browsern), ist es relativ zur CSS-Datei.
Grüße aus Lüneburg
Kai
Tja - scheinbar wird mit jeder Stunde vor dem Rechner das Brett vor meinem Kopf dicker - auf die Lösung mit den absoluten Pfadangaben hätte ich ja auch mal selber kommen können...
Das ist, so wie es aussieht, auch die unproblematischste Variante (es sind nur eine Handvoll Grafiken, die zu referenzieren sind, ansonsten gäbe es ja immer bei Änderung der Verzeichnis-Struktur ein ziemliche Pfad-Umbau-Theater, oder?)
Die offiziell "gültige" Variante, also der Bezug auf die css Datei funktioniert prima in den 6er Versionen, aber Netscape 4 weigert sich. Die "inoffizielle" Variante - mit den Unterverzeichnissen als Bezugspunkt klappt zwar dann mit der 4er Version, dafür streiken dann aber die neuen.... zum Haareraufen!
Insofern werde ich wohl wie eingangs erwähnt bei den absoluten Pfadangaben hängen bleiben -
Vielen Dank für die Hilfe!!!
Beate
Hallo Beate,
Insofern werde ich wohl wie eingangs erwähnt bei den absoluten Pfadangaben hängen bleiben -
Nicht unbedingt! Siehe auch
http://forum.de.selfhtml.org/archiv/2001/11/538/#m3876
Zusammengefaßt gibt es 3 Varianten zu Pfaden mit CSS (Namen stammen aus einem alten Beispiel):
a) Stelle die .css-Datei in das selbe Verzeichnis wie die .html-Datei. Nicht besonders schön bei vielen Verzeichnissen.
b) Eine Mischung aus relativer und absoluter Adressierung: Benutze anstelle von href="http://www.meinedomain.de/images/bild.gif" nur href="/images/bild.gif". Damit beginnt der Browser ab der Root zu suchen, egal ob lokal auf der Festpladde oder unter deiner Internetdomain.
c) Stelle deine .css-Datei auf die selbe VerzeichnisSTUFE wie die *.gif-Datei. Z.B.
- ordner/daten/index.html
- ordner/images/bild.gif
- ordner/styles/formatierung.css
In deiner "index.html"-Datei kommt ein
<link rel="stylesheet" type="text/css"
href="../styles/formatierung.css">
Innerhalb der "formatierung.css"-Datei schreibst du schlicht
background-image:url(../images/bild.gif)
Was passiert: Egal ob der Browser (NS, IE, ...) vom Verzeichnis der .html-Datei oder der .css-Datei ausgeht, er wechselt zuerst ins nächst höhere Verzeichnis, also bei dir "ordner/". Ab dort sucht er nach dem Unterverzeichnis "images/" und dort nach der Datei "bild.gif".
Ich hoffe die Version c) hilft dir weiter.
Heiko