berndi: unterschiedliches einbinden von css für nc4 und ie

hallo forum!

ich habe hier denke ich schonmal gelesen, wie man css aus dateien einbinden und dabei berücksichtigen kann welchen browser-typ man verwendet.

ich hab zwar ein bisschen herumgesucht aber leider nix mehr gefunden :(

ich kann mich nur noch daran erinnern, dass der zu 'doof' ist stylesheets zu lesen die in kommentare '<!-- -->' gepackt sind zu lesen.

und dass es für den ie eine 'propertiäre syntax' gibt die eben nur ie lesen kann.

kann mir jemand bitte weiterhelfen?

danke euch!

berndi

  1. ich habe hier denke ich schonmal gelesen, wie man css aus dateien einbinden und dabei berücksichtigen kann welchen browser-typ man verwendet.

    Das es eine echte Browserweiche in CSS gibt, ist mir nicht bekannt, aber wenn Du Netscape 4 vor CSS retten willst, kannst Du

    @import url(blabla.css);

    benutzen. Diese Syntax kennt er nicht, IE ab 5, Opera ab 5 und Netscape/Mozilla schon.

    Siehe auch http://www.w3.org/TR/REC-CSS2/cascade.html#at-import.

    Gruß,
      soenk.e

    1. danke dir!

      berndi

  2. Hallo Namensvetter,

    vorausgeschickt: nur getestet mit NS 4.x und IE 5.x - keine Ahnung was der 6er NS - Mozilla - Opera dazu sagen.

    Eine Variante wäre folgende Einbindung zweier externer .css:

    <link rel="stylesheet" type="text/css" href="/include/main_nn.css">
    <link rel="stylesheet" type="text/css" href="/include/main_ie.css" id="stil">

    (Pfadangaben natürlich enstsprechend anpassen!)

    Dies bewirkt grob gesagt folgendes:

    Beide lesen die "main_ns.css" da der 4er NS mit der Angabe id= in der zweiten Zeile nichts anfangen kann, ignoriert er die Datei und dort kannst du dann quasi die Angaben für den IE überschreiben.

    Ein anderer Trick wäre, über @media rumzufummeln da der 4er NS das @media nicht versteht, überliest er die dort enthaltenen Angaben, während sie der IE interpretiert.

    Gruß
    der_bernd

    1. Hallo Namensvetter,

      hi auch ;)

      danke, hat mir sehr geholfen.

      bernd

  3. Hi, berndi

    ich habe hier denke ich schonmal gelesen, wie man css aus dateien einbinden und dabei berücksichtigen kann welchen browser-typ man verwendet.

    NS4.x versteht die Einbdindung mittels @import nicht, siehe http://selfhtml/css/formate/einbinden.htm#link_media. Damit lässt er sich von aufwendigeren Formatierungen ausschließen.

    Der IE dagegen behirnt folgende Konstrukte nicht,

    div[id="fixiert"]{
      position:fixed !important;
     }

    was ihn zB davon abhält, bei position:fixed zu spinnen. Ob er das jemals beherrschen wird?

    Allerdings berücksichtigt er wiederum alles, was innerhalb dieses speziellen 'Komentars' steht:

    <!--[if IE]>
     IE-spezifischer Inhalt
     <![endif]-->

    Das sollte eigentlich reichen, um allen Browsern das zu liefern, was sie beherrschen.

    LG Orlando

    1. ho orlando ;)

      Allerdings berücksichtigt er wiederum alles, was innerhalb dieses speziellen 'Komentars' steht:

      <!--[if IE]>
      IE-spezifischer Inhalt
      <![endif]-->

      das war genau was ich gesucht hatte!

      danke dir

      berndi

  4. hi

    einen hamwa noch... (oder 2)

    @media all{
    ...
    }

    innerhalb der CSS-Datei ist NN4 zu hoch.

    Und wenn eine Angabe nur für Mozilla gelten soll, muss man versuchen einen :not()-Selector zu erwischen...
    table:not(#bla){} gilt dann für alle Tabellen außer der mit id="bla".

    Grüße aus Lübeck

    Kai

    1. hi

      hi auch und danke dir ;)

      berndi

      1. hi

        hi auch und danke dir ;)

        hab sogar nochwas...

        "a > b{}" für direkt untergeordnete Tags und "a + b{}" für ein <b> direkt hinter einem <a> sind den beiden* auch zu hoch

        *) NN4, MSIE/Windows

        Grüße aus Lübeck

        Kai