Stefan: Import-Problem (Vermischung von zwei StyleSheets) DIV

Hallo,

ich versuche gerade, mit

<link rel="stylesheet" type="text/css" href="netscape4.css">
<style type="text/css">
<!--
 @import url("format.css");
-->
</style>

zwei verschiedene Stylesheet für eine HTML-Datei zu verwenden.

Anfangs ist die "netscape4.css" eine Kopie von "format.css". Wenn ich jetzt in der "netscape4.css" einen Wert ändere, so wirkt sich das allerdings AUCH (!) z.B. im Internet Explorer (6) aus, obwohl sich dieser Browser nur auf die "format.css" beziehen sollte!

Ich verstehe nicht, wieso dass so ist! Dieses Beispiel zur Trennung von CSS-Dateien wird auf vielen CSS-Hilfe-Webseiten empfohlen.

Es geht um die Formatierung/Ausrichtung des DIV-Elements:

<div id="nav">
    (Inhalt)
</div>

Hier noch der Ausschnitt aus der "format.css" (IE und andere):

#nav {
 float: left;
 width: 142px;
 height: 400px;
 padding-top: 9px;
 padding-left: 16px;
 background-image: url(../img/vertikal.gif);
 background-repeat: no-repeat
}

---------------------------------------------------

Hier der Ausschnitt der "netscape.css":

#nav {
 z-index: 5;
 position: absolute;
 top: 0px;
 left: 0px;
 width: 142px;
 height: 400px;
 background-image: url(../img/vertikal.gif);
 background-repeat: no-repeat
}

Gruß,
  Stefan

  1. lol so geht das nicht.
    du könntest z.B. mit JS abfragen welcher Browser der user hat und dementsprechend das RICHTIGE stylesheet einfügen!

    1. lol so geht das nicht.
      du könntest z.B. mit JS abfragen welcher Browser der user hat und dementsprechend das RICHTIGE stylesheet einfügen!

      Aber was ist, wenn der Besucher JavaScript deaktiviert hat?
      Wird dann überhaupt eine CSS-Datei geladen?

      Die Problemlösung sollte schon so sein, daß man mit abgeschaltetem JavaScript eine mit JavaScript formatierte Seite bekommmt.

      Also eine Lösung "nur" per HTML und/oder CSS.

      Gruß,
        Stefan

      1. es geht nicht
        der goldene mittelweg (so mache ich es immer) ist validierten code zu verwenden
        dann bist du auf der sicheren seite
        ansonsten --> glücksspiel

        1. Hallo Test,

          der goldene mittelweg (so mache ich es immer) ist validierten code zu verwenden

          was bedeutet den "Validierten Code"?

          gruß
          Mick

    2. Hallo,

      lol so geht das nicht.

      nix lol. Natürlich geht das so (wenn man's richtig macht, siehe MudGuards Antwort [pref:t=59650&m=335311]). Das ist eine klassische "nur-CSS"-Browserweiche: http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm

      Viele Grüße
      Carsten

  2. Hi,

    <link rel="stylesheet" type="text/css" href="netscape4.css">
    <style type="text/css">
    <!--
    @import url("format.css");
    -->
    </style>

    Der IE versteht beides, also sind beide CSS-Dateien eingebunden.

    Alles, was Du in netscape4.css definierst und in der später eingebundenen  formate.css nicht überschreibst, bleibt weiterhin gültig.

    Das für den IE wirksame CSS ist:

    #nav {
     z-index: 5;
     position: absolute;
     top: 0px;
     left: 0px;
     float: left; /* ist zwar vorhanden, aber wegen position:absolute; unwirksam. Abhilfe: position:static; in der formate.css*/
     width: 142px;
     height: 400px;
     padding-top: 9px;
     padding-left: 16px;
     background-image: url(../img/vertikal.gif);
     background-repeat: no-repeat
    }

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. float: left; /* ist zwar vorhanden, aber wegen position:absolute; unwirksam. Abhilfe: position:static; in der formate.css*/

      Hi Andreas,

      vielen Dank für diesen wichtigen Tipp! Jetzt kann ich meine neue Site endlich OHNE Extra-Version für NS 4.x kompatibel machen!

      Denn von bei der "format.css" kann ich nix weglassen. Jetzt kommt die absolute Position von "netscape.css" hinzu, die ich in der "format.css" durch "static" wieder aushebel (unwirksam mache). SUPER!

      Jetzt geht die Frickelei los (CSS ist nämlich ziemlich umfangreich)...

      Gruß,
        Stefan

      1. Hi,

        Jetzt geht die Frickelei los (CSS ist nämlich ziemlich umfangreich)...

        Wenn dein HTML logisch strukturiert ist, könntest Du auch zunächst den einfacheren Weg gehen und in die netscape4.css nur die allernötigsten Styles (Farben- und Schriftdefinitionen) zu setzen. dann sind die seiten zumindest für diesen browser nutzbar. später könntst du dich immer noch daran versuchen, das layout komlett auch an den netscape4 anzupassen.

        freundliche Grüße
        Ingo