[gelöst] Hintergrundbild background-image: url("images/bg-bild.jpg") wird nicht geladen.
am 25.03.2011 - 13:49 Uhr in
Ich baue gerade eine neue Webseite als Subtheme von ZEN auf und definiere in der CSS html-reset.css im body das Hintergrundbild (siehe Anhang), aber im Firebug sieht man immer nur das kreisende Symbol, das anzeigt, dass das Bild nicht gefunden wird. Es ist aber in sites/all/themes/webname/images vorhanden.
Was habe ich da falsch gemacht, dass das Bild nicht gefunden wird?
Danke für Eure Hilfe
Albert
| Anhang | Größe |
|---|---|
| CSS_background.jpg | 91.5 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben

anführungsstriche weglassen
am 25.03.2011 - 14:07 Uhr
anführungsstriche weglassen sollte das problem beheben ;-)
Anführungszeichen
am 25.03.2011 - 14:56 Uhr
Die Anführungszeichen werden offenbar von Drupal automatisch eingefügt. Auch wenn ich sie im CCS-Quelltext weglasse, sind sie im Firebug wieder da. Aber in anderen Webseiten funktioniert die Syntax einwandfrei.
Es muss also eine andere Ursache geben.
Albert
dann versuch's mal mit einem
am 25.03.2011 - 15:06 Uhr
dann versuch's mal mit einem absoluten pfad zum bild.
bei relativen, so wie du's gemacht hast, gibt's hier und da probleme.
also in etwa so: "/sites/all/themes/dein-theme-name/images/bg-bild.jpg"
Und die CSS-Datei liegt auch
am 25.03.2011 - 15:11 Uhr
Und die CSS-Datei liegt auch in sites/all/themes/webname und nicht irgendwo anders?
Versuche
am 25.03.2011 - 15:24 Uhr
Versuche mal:
background-image: url("../images/bg-bild.jpg");anstelle deiner Version.
So das in der CSS steht ist : nicht =.
Habe alles geprüft
am 25.03.2011 - 15:34 Uhr
Bevor ich die Frage im Forum stellte, habe ich natürlich auch den vollen Pfad sites/all/themes/web-name/images probiert und natürlich liegt "images" an der richtigen Stelle (siehe Anhang).
Die aktuelle Syntax ist in der CSS
background-image: url(sites/all/themes/www_horiana_eu/images/pfau_bg_1.jpg);
und im Firebug sieht man noch die Anführungszeichen. (Das "=" im Thread-Titel war ein Schreibfehler)
Die Ursache muss anderswo liegen.
Albert
CSS Datei
am 25.03.2011 - 15:40 Uhr
Der Firebug würde background-image: url("sites/all/themes/www_horiana_eu/images/pfau_bg_1.jpg"); nicht anzeigen, wenn der Pfad zu CSS nicht stimmt. Der Pfad ist sites/all/themes/Webname/css/html-reset.css.
vor "sites" gehört noch ein
am 25.03.2011 - 15:49 Uhr
vor "sites" gehört noch ein slash:
url(/sites/all/themes/www_horiana_eu/images/pfau_bg_1.jpg);
sonst ist es ein relativer pfad von der css-datei weg.
slash vor sites
am 25.03.2011 - 16:30 Uhr
Danke für Eure Mühe.
Es war der fehlende slash. Mit
url(/sites/all/themes/www_horiana_eu/images/pfau_bg_1.jpg);
funktioniert es. Deine Erklärung hat mir auch für die Zukunft viel geholfen.
Herzlichen Danh und viele Grüße
Albert
Das ist aber eigentlich nicht
am 25.03.2011 - 16:55 Uhr
Das ist aber eigentlich nicht das Gelbe vom Ei...
Ich glaube mal, das Problem liegt darin, dass deine CSS-Datei vermutlich im Unterordner "/css" liegt und deine Bilder im Unterordner "/images". Die CSS-Anweisung für den Background weist aber an, dass das Bild relativ vom CSS-Pfad in "images/bild.jpg" zu suchen ist. Das heißt, das Bild wird effektiv in "sites/all/themes/www_horiana_eu/css/images/pfau_bg_1.jpg" gesucht, obwohl es gar nicht im CSS-Ordner liegt.
Also dürfte die CSS-Anweisung "
background-image: url(../images/bild.jpg);" genügen und auch besser geeignet sein (also vor "images" noch zwei Punkte und ein Slash).Nochmal für's Verständnis:
Wenn man sowas verwendet: "
url(images/bild.jpg)", dann sagt man dem Browser quasi: "Suche in dem Ordner, in dem die CSS-Datei liegt, nach dem Ordner "images" und wähle darin die Datei 'bild.jpg' aus."Wenn deine CSS-Dateien aber eben in
themeordner/cssliegen und die Bilder inthemeordner/images, dann kann das natürlich nicht klappen.Mit dieser Anweisung: "
url(../images/bild.jpg)" sagst du dem Browser: "Gehe von dem Ordner, in dem die CSS-Datei liegt, eine Ebene zurück (also vonthemeordner/csszurück nachthemeordner), soche in dieser Ebene den Ordner "images" und wähle darin das Bild 'bild.jpg' aus".Damit dürfte sich das Problem eigentlich auch lösen lassen und es wäre ein Stück eleganter und besser, als diese starre Pfad-Angabe ab /sites.
relativ ist im prinzip wohl
am 25.03.2011 - 18:36 Uhr
relativ ist im prinzip wohl schon besser, aber im fall von drupal ist ein absoluter pfad genauso okay, weil das css zu einem theme gehört und der standort des themes eh immer sites/all/themes sein sollte.
manche packen auch alle bilder, die zu den css-files gehören, in theme-name/css/images.
Zitat: aber im fall von
am 25.03.2011 - 19:17 Uhr
aber im fall von drupal ist ein absoluter pfad genauso okay
Nein, weil die Systeme sich unterscheiden können.
weil das css zu einem theme gehört und der standort des themes eh immer sites/all/themes sein sollte
Und was ist bei Multisites? Da wäre der Theme-Ordner ggf. anders, dann muss man immer den Pfad ändern. Wozu, wenn man's auch einfach haben kann?
manche packen auch alle bilder, die zu den css-files gehören, in theme-name/css/images.
Ja, machen manche, ich würde es z. B. so machen. Scheint aber hier nicht der Fall zu sein:
url(/sites/all/themes/www_horiana_eu/images/pfau_bg_1.jpg);
Mit diesen absoluten Pfaden bekommt man im Zweifelsfall nur Probleme und obendrein ist der absolute Pfad länger als der relative. Also spricht eigentlich absolut nichts für den absoluten Pfad.
../images
am 27.03.2011 - 14:30 Uhr
Nochmals Danke an beide.
Insbesondere die Erklärung von Exterior war für mich (und ist für die Community) der Zugang zu einem besseren und tieferen Verständnis. ../images/bilddatei.jpg ist von den "richtigen Lösungen" die sicher die beste.
Herziche Grüße
Albert