WS64: Pfadangaben in externen CSS Dateien

Hallo,
kann es sein das Netscape 4.x und MSIE 5.x unterschiedlich auf Pfadangaben (zB für Hintergrundbilder) in externen CSS Dateien reagieren?
Für Netscape scheint der Ort der HTML Datei entscheidend zu sein (wie ich es auch für logisch erachte), während MSIE sich nach dem Ort der CSS Datei zu richten scheint...

Konkret:
Ich habe folgende Dateien
ordner/images/bild.gif
ordner/daten/index.html
ordner/formatierung.css

Die index Datei greift nun auf die formatierung.css zu (mit <link rel="stylesheet" type="text/css" href="../abc.css">)

In der css Datei findet sich nun
background-image:url(../images/bild.gif)
Dann zeigt Netscape das Bild an, MSIE nicht.

Wenn ich statt dessen
background-image:url(images/bild.gif)
benutze ist es genau umgekehrt, MSIE zeigt das Bild und Netscape nicht.

Gibt es nun eine Lösung für beide Browser, ohne daß ich in der index.html direkt <body style="background-image:url(../images/bild.gif);"> benutze? (was für beide Browser klappt)
Auch eine absolute Location für das Bild möchte ich nicht angeben,

Danke und bye,
Wolfgang

  1. Hallo Wolfgang,

    kann es sein das Netscape 4.x und MSIE 5.x unterschiedlich auf Pfadangaben (zB für Hintergrundbilder) in externen CSS Dateien reagieren?

    ja.

    Für Netscape scheint der Ort der HTML Datei entscheidend zu sein (wie ich es auch für logisch erachte), während MSIE sich nach dem Ort der CSS Datei zu richten scheint...

    ausnahmsweise finde ich die Lösung beim MSIE sinnvoller, da es ja
    durchaus möglich ist, dass ich eine bestimmte CSS-Datei aus versch.
    HTML-Dateien referenziere, die sich auch in unterschiedl. Verzeich-
    nisebenen befinden können.

    Gibt es nun eine Lösung für beide Browser, ohne daß ich in der index.html direkt <body style="background-image:url(../images/bild.gif);"> benutze? (was für beide Browser klappt)

    da fällt mir nur background-image:url(/images/bild.gif); ein

    Auch eine absolute Location für das Bild möchte ich nicht angeben,

    mit der obengenannten Variante dürfte es auch lokal funktionieren,
    den Betrieb eines lokalen Webservers vorausgesetzt.

    Viele Grüße,
    Stefan

    1. Der MSIE arbeitet in diesem Fall korrekt, Du solltest also überlegen,
      ob das Hintergrundbild für NC4 wirklich so wichtig ist:
      http://www.w3.org/TR/REC-CSS2/syndata.html#uri

      1. Der MSIE arbeitet in diesem Fall korrekt, Du solltest also überlegen,
        ob das Hintergrundbild für NC4 wirklich so wichtig ist:
        http://www.w3.org/TR/REC-CSS2/syndata.html#uri

        Hi Stefan,
        ich nehme tatsächlich inzwischen so gut wie keine Rücksicht mehr auf Netscape (insbesondere 6.x hat bei mir keine Chance), aber so lange meines Chef's Browser der 4.x ist, muß ich hier wohl ein paar Eingeständnisse machen *g*

        Bye
        Wolfgang

        1. ...aber so lange meines Chef's Browser der 4.x ist, muß ich hier wohl ein paar Eingeständnisse machen *g*

          dan verfrachte die css-datei einfach in das selbe verzeichnis, wie die
          html datei und fertich

          bye eddie

          1. ...aber so lange meines Chef's Browser der 4.x ist, muß ich hier wohl ein paar Eingeständnisse machen *g*

            dan verfrachte die css-datei einfach in das selbe verzeichnis, wie die
            html datei und fertich

            bye eddie

            Ist nicht die übersichtlichste Lösung, vorallem wenn ich verschiedene CSS-Dateien verwende. Warum benutzt ihr nicht absolute Pfadangaben? Damit meine ich nicht [http://www.blablabla.de/bilder/usw.gif]. Auf dem Server des Providers, der das hosten euerer Daten übernimmt, gibt es doch ganz normale Pfade, in einem dieser Pfade liegt eure Page. In der Serverkonfiguration ist die eigene Startadresse (im Bsp. www.blablabla.de) als Root angegeben. Es reicht also, die Pfade ausgehend vom Root zu bezeichnen. Liegt also ein Bild im Ordner [http://www.blablabla.de/internetseiten/bilder/hintergrundbild.gif] so lautet die Referenz: [/internetseiten/bilder/hintergrundbild.gif], der beginnende Slash ohne Punkte davor zeigt immer auf das Root-Verzeichnis.

            mfg
            Pierre

        2. Der MSIE arbeitet in diesem Fall korrekt, Du solltest also überlegen,
          ob das Hintergrundbild für NC4 wirklich so wichtig ist:
          http://www.w3.org/TR/REC-CSS2/syndata.html#uri

          Hi Stefan,
          ich nehme tatsächlich inzwischen so gut wie keine Rücksicht mehr auf Netscape (insbesondere 6.x hat bei mir keine Chance), aber so lange meines Chef's Browser der 4.x ist, muß ich hier wohl ein paar Eingeständnisse machen *g*

          Bye
          Wolfgang

          Hi Wolfgang,

          man muss (leider) immer die Seiten für Netscape nutzbar machen, egal od 4.x oder 6.x, wobei der 6er dem IE langsam ähnlich wird. Das ganze Problem zu ignorieren bewirkt nur, dass eine ganze Menge von möglichen Usern nicht erreicht wird. Übrigens gibt es immer Lösungen, die mit beiden Browsern (sofern im versionsabhängigen Interpretationsumfang enthalten) funktionieren, ich habe bis jetzt jedes Problem gelöst.

          Bye, Pierre

          1. ich nehme tatsächlich inzwischen so gut wie keine Rücksicht mehr auf Netscape (insbesondere 6.x hat bei mir keine Chance), aber so lange meines Chef's Browser der 4.x ist, muß ich hier wohl ein paar Eingeständnisse machen *g*

            man muss (leider) immer die Seiten für Netscape nutzbar machen, egal od 4.x oder 6.x,

            ...

            Hi Pierre

            Nein, das sehe ich nicht so.
            Ich biete auf meinen Seiten einen Service an, und den mach ich zugänglich für wen immer mir es paßt.
            Ich habe bereits seperaten Code für MSIE und Netscape 4 integriert, und zu mehr hab ich einfach keine Lust mehr.
            Wenn ich mir zB meine Statistiken für meine Chordfinder vom 19.11 ansehe, dann finde ich da folgendes:

            1.   MSIE 5.0     1,210   34.19
             2.   MSIE 5.5     1,091   30.82
             3.   MSIE 6.0       462   13.05
             4.   Netscape 4.7   170    4.80
             5.   MSIE 5.5 (AOL) 141    3.98
             6.   MSIE 5.0 (AOL) 133    3.76
             7.   MSIE 4.0       108    3.05
             8.   Netscape 6.0    28    0.79
             9.   MSIE 5.0 (MSN)  26    0.73
            10.   MSIE 5.5 (MSN)  26    0.73
            11.   Netscape 4.0    26    0.73
            12.   Netscape 4.5    25    0.71
            13.   Netscape 4.6    22    0.62
            14.   MSIE 6.0 (MSN)  12    0.34
            15.   Opera 5.x       12    0.34
            16.   MSIE 6.0 (AOL)  11    0.31
            17.   MSIE 4.0 (AOL)   9    0.25
            18.   MSIE 5.5 (AOLMSN)6    0.17
            19.   MSIE 4.5         5    0.14
            20.   MSIE 3.0         4    0.11
            21.   MSIE 5.0 (AOLMSN)4    0.11
            22.   MSIE 4.0 (MSN)   2    0.06
            23.   MSIE 5.1         2    0.06
            24.   Netscape 3.0     2    0.06
            25.   Opera 6.x        2    0.06
            26.   MSIE 3.0 (AOL)   1    0.03
              Total    3,540   3,540  100.00%

            Netscape/MSIE 3 wird bei mir nicht funktionieren, und Netscape 6 hab ich nicht lange genug auf meiner platte gedulded um aussagekräftige Ergebnisse zu liefern. Opera fand sich zuletzt in einer 3er Version bei mir, so daß ich dazu auch nichts sagen kann. Alles in allem weniger als 50 Leute (von 3500) bei denen die Seite wahrscheinlich nicht läuft. Was solls...

            Mir ist auch klar, das diese Statistiken immer mit Vorsicht zu geniessen sein sollten, aber zumindest ein paar Trends lassen sich wohl ablesen...

            ...wobei der 6er dem IE langsam ähnlich wird. Das ganze Problem zu ignorieren bewirkt nur, dass eine ganze Menge von möglichen Usern nicht erreicht wird.

            Genau. Das nehm ich in Kauf.

            Anders sieht es aus, wenn ich nicht mein eigener Boss bin, aber da wir hier in der Firma auch nur die Software installieren dürfen, die von der Informatikabteilung freigegeben wurde, brauche ich auch hier keine Rücksicht auf Opera oder Netscape 6 zu nehmen, im Gegenteil, ich kann es nicht einmal, weil mir diese beiden Browser hier gar nicht zur Verfügung stehen.

            Übrigens gibt es immer Lösungen, die mit beiden Browsern (sofern im versionsabhängigen Interpretationsumfang enthalten) funktionieren, ich habe bis jetzt jedes Problem gelöst.

            Ich bin nachwievor bereit, meinen Code an 2 Browser anzupassen wenn nötig, aber das sind nach heutigen Statistiken immer noch MSIE und Netscape 4 und nicht Netscape 6.

            Bye
            Wolfgang

            1. Wenn ich mir zB meine Statistiken für meine Chordfinder vom 19.11 ansehe, dann finde ich da folgendes:

              [snip]

              Mir ist auch klar, das diese Statistiken immer mit Vorsicht zu geniessen sein sollten, aber zumindest ein paar Trends lassen sich wohl ablesen...

              Stimmt, diese Statistiken sind mit Vorsicht zu genießen. Erst recht, wenn sich Browser unter falschen Namen identifiezieren (z.B. Opera gibt sich als MS IE aus, siehe dort Menü Einstellungen -> Verbindungen).

              ...wobei der 6er dem IE langsam ähnlich wird. Das ganze Problem zu ignorieren bewirkt nur, dass eine ganze Menge von möglichen Usern nicht erreicht wird.

              Genau. Das nehm ich in Kauf.

              Es kommt darauf an, welche Zielgruppe eine Seite hat. Bei privaten Seiten und "Freizeitsurfern" kann man eher davon ausgehen, daß sie aktuelle Browser installiert haben. Bei "Businesssurfern" im Büro muß man leider oft mit einer veralteten Ausstattung in Hardware und Software rechnen, besonders in kleineren Betrieben. Und wenn noch eine restriktive Softwarepolitik herrscht, darf man dort auch nicht ohne weiteres mal den neuesten Browser von xyz auf den Bürorechner installieren.

              Übrigens gibt es immer Lösungen, die mit beiden Browsern (sofern im versionsabhängigen Interpretationsumfang enthalten) funktionieren, ich habe bis jetzt jedes Problem gelöst.

              ...und wenn es nur ein kleiner zusätzlich Link am unteren Seitenrand ist, mit dem man DHTML-Spielereien umgehen kann.

              Ist nur meine persönliche Meinung.
              Heiko

    2. ...

      da fällt mir nur background-image:url(/images/bild.gif); ein

      ...

      mit der obengenannten Variante dürfte es auch lokal funktionieren,
      den Betrieb eines lokalen Webservers vorausgesetzt.

      Viele Grüße,
      Stefan

      Hi Stefan, deine Variante ist die Richtige, weil funktioniert immer und ist übrigens nicht nur beim Einsatz von CSS sinnvoll sondern auch für alle anderen Referenzen wie z.B. Links, Garfikreferenzen usw. Aber der Betrieb eines lokalen Webservers ist nicht erforderlich, solange die Rootangabe auch wirklich auf ein Root zeigt (z.B. Laufwerk C ).

      mfg
      Pierre

      1. ...

        da fällt mir nur background-image:url(/images/bild.gif); ein

        ...

        Hi Stefan, deine Variante ist die Richtige, weil funktioniert immer und ist übrigens nicht nur beim Einsatz von CSS sinnvoll sondern auch für alle anderen Referenzen wie z.B. Links, Garfikreferenzen usw. Aber der Betrieb eines lokalen Webservers ist nicht erforderlich, solange die Rootangabe auch wirklich auf ein Root zeigt (z.B. Laufwerk C ).

        Hi Pierre,
        in meinem Fall verbieten sich Webserver (es müssen zu viele Leute offline auf die Files zugreifen), und um auf Root zu zeigen müsste ich neue Laufwerke für die User mappen, derzeit verbietet sich aber jede Änderung der Einstellungen für die User, also ist /irgendwas nicht die Richtige, sondern eine absolut nicht mögliche Variante...

        Bye Wolfgang

  2. Hallo WS,

    kann es sein das Netscape 4.x und MSIE 5.x unterschiedlich auf Pfadangaben (zB für Hintergrundbilder) in externen CSS Dateien reagieren?

    ja.
    das ist ein ziemlich altes problem ;-)
    die lösung stand damals auch in der auslese, jetzt ist sie irgendwo im selfhtml vielleicht.

    Gibt es nun eine Lösung für beide Browser, ohne daß ich in der index.html direkt <body style="background-image:url(../images/bild.gif);"> benutze? (was für beide Browser klappt)

    du musst einfach absolute URL benützen: url(http://etc.etc.etc.)

    Auch eine absolute Location für das Bild möchte ich nicht angeben,

    no way.

    grüße
    thomas

    1. kann es sein das Netscape 4.x und MSIE 5.x unterschiedlich auf Pfadangaben (zB für Hintergrundbilder) in externen CSS Dateien reagieren?

      ja.
      das ist ein ziemlich altes problem ;-)

      Hi Tom,
      gibts denn tatsächlich auch noch neue Probleme zu NN4/MSIE5? :)

      Bye
      Wolfgang

      1. Hallo Wofgang,

        Hi Tom,
        gibts denn tatsächlich auch noch neue Probleme zu NN4/MSIE5? :)

        klar gibt es sie z.B. "wie bekomme ich hin, dass die scollbalken auch unter NS 4.x so toll eingefärbt werden können" ;-)

        grüße
        thomas

  3. Hallo,
    kann es sein das Netscape 4.x und MSIE 5.x unterschiedlich auf Pfadangaben (zB für Hintergrundbilder) in externen CSS Dateien reagieren?

    Ja! (aber die Antwort hatten wir schon)

    Ich habe folgende Dateien
    ordner/images/bild.gif
    ordner/daten/index.html
    ordner/formatierung.css

    »»

    Gibt es nun eine Lösung für beide Browser, ohne daß ich in der index.html direkt <body style="background-image:url(../images/bild.gif);"> benutze? (was für beide Browser klappt)
    Auch eine absolute Location für das Bild möchte ich nicht angeben,

    Ja, mehrere:
    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 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.

    Viel Erfolg
    Heiko Jägle

    1. 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

      Ich hoffe die Version c) hilft dir weiter.

      Viel Erfolg
      Heiko Jägle

      Hi Heiko,
      danke, ja, c) gefällt mir :)

      Bye
      Wolfgang