Christoph: Conditional Comments in CSS Dateien

Hallo zusammen,

kann man Conditional Comments auch direkt in CSS-Files einbinden?
Hintergrund ist der, dass ich gerne eine globale CSS-Datei erstellen
moechte, die alles weitere mittels "@import url" erledigt. Und an
dieser Stelle sollten auch ggfs. Browserweichen eingebunden werden.

Alles, was ich bisher ueber CC gefunden habe, waren Beispiele, in
denen das direkt in der HTML-Datei gemacht wurde, nicht aber im CSS-File
selbst.

Besten Dank.
Christoph

  1. Hoi,

    sowie
    <!--[if IE 6]>
    Special instructions for IE 6 here
    <![endif]-->

    kann man nicht direct in .css file schreiben, doch es gibt hacks fuer IE6, die man in .css datei schreiben kann, sowie

    height:233px !important;

    oder

    html>body #left_menu ul li a {
    height: auto;
    min-height: 16px;
    }

    usw

    kannst du auf dieser seite genauer anschauen
    < http://www.webdevout.net/css-hacks>

    LG,
    Inita

    --
    Don't forget to love yourself.
    1. Hoi,

      ich denke, kannst du auch so machen:

      <style type="text/css" media="screen">
              @import url(main.css);
      <!--[if IE]>
              @import url(ie6.css);
      <![endif]-->
          </style>

      LG,
      Inita

      --
      Don't forget to love yourself.
      1. Hallo Inita,

        mit den IE-Hacks bin ich - mitterweile - vertraut.
        Und genau das, was du in deinem Beispiel auffuehrst

        <style type="text/css" media="screen">
                @import url(main.css);
        <!--[if IE]>
                @import url(ie6.css);
        <![endif]-->
            </style>

        moechte ich ja gerne umgehen bzw. direkt in das globale
        CSS-File packen.

        Aber Danke fuer deine Antwort!

        Gruesse
        Christoph

        1. Hallo Inita,

          mit den IE-Hacks bin ich - mitterweile - vertraut.
          Und genau das, was du in deinem Beispiel auffuehrst

          <style type="text/css" media="screen">
                  @import url(main.css);
          <!--[if IE]>
                  @import url(ie6.css);
          <![endif]-->
              </style>

          moechte ich ja gerne umgehen bzw. direkt in das globale
          CSS-File packen.

          siehe mein dazu meinen kommentar
          https://forum.selfhtml.org/?t=170261&m=1112785

          btw: @import ist eine uncoole methode im css einzubinden - nutze das <link /> element im <head /> bereich

          1. Hallo suit,

            btw: @import ist eine uncoole methode im css einzubinden -

            Warum? Ich orientiere mich an den YAML-Standard. Dort wird es
            mittels Import realisiert.

            nutze das <link /> element im <head /> bereich

            Desweiteren moechte ich es eben nicht in das HTML packen, da
            ich fuer verschiedene Gruppen verschiedene CSS-Files einbinden
            moechte. Daher brauche ich eine Art globale CSS-Datei, die
            alles weitere regelt. Der einzige dynamische Teil im HTML ist
            dann das einbinden eben jener CSS-Datei.

            Danke und Gruss,
            Christoph

            1. Warum? Ich orientiere mich an den YAML-Standard. Dort wird es
              mittels Import realisiert.

              meine meinung zu yaml sollte bekannt sein - tolle sache, aber nix für mich (viel zu überladen)

              @import ist etwas unpraktisch, da du alles innerhalb des <style /> elements vor dem browser verstecken solltest bez in xhtml-dokumente sogar MUST

              <style type="text/css">
              /* <![CDATA[ */

              p>em { color: red };

              /* ]]> */
              </style>

              selbriges gilt übrigens auch für javascript - um dir diesen "krempel" zu sparen empfiehlt sich eben die einbindung über das <link />-element

              Desweiteren moechte ich es eben nicht in das HTML packen, da

              das tust du doch bereits und du machst es inline

              moechte. Daher brauche ich eine Art globale CSS-Datei, die

              das ist üblicherweise die erste, die man einbindet

              alles weitere regelt. Der einzige dynamische Teil im HTML ist
              dann das einbinden eben jener CSS-Datei.

              das dynamische einbinden lässt sich auch mit einer ausgabe im head regeln, der unterschied ist praktisch nicht vorhanden

              bei unterseite xyz kommt halt ein zweites <link />-element hinzu

              1. Hoi,

                meine meinung zu yaml sollte bekannt sein - tolle sache, aber nix für mich (viel zu überladen)

                @import ist etwas unpraktisch, da du alles innerhalb des <style /> elements vor dem browser verstecken solltest bez in xhtml-dokumente sogar MUST

                <style type="text/css">
                /* <![CDATA[ */

                p>em { color: red };

                /* ]]> */
                </style>

                wieso genau ist mit <link /> besser css ienzubinden. Ich denke muss man nicht <![CDATA[ schreiben, weil den @import url, kann die alte browser sowieso nicht verstehen

                LG,
                Inita

                --
                Don't forget to love yourself.
                1. <style type="text/css">
                  /* <![CDATA[ */

                  p>em { color: red };

                  /* ]]> */
                  </style>

                  wieso genau ist mit <link /> besser css ienzubinden. Ich denke muss man nicht <![CDATA[ schreiben, weil den @import url, kann die alte browser sowieso nicht verstehen

                  was du denkst, ist irrelevant - eine css deklaration kann einen xml parser dazu bringen, die seite nicht zu parsen - dann geht garnix mehr - und das betrifft besonders neue browser und das ist gut so

                  genau darum MUSST das zeug im style (welches eigentlich PCDATA erwartet) mit CDATA maskieren

                  es ist mit <link /> demnach nicht besser sonder du umgehst eine potentielle fehlerquelle da diese speziellen "versteckmethoden" dort niemals nötig sind, egal welche dtd du verwendest

                  1. @@suit:

                    wieso genau ist mit <link /> besser css ienzubinden. Ich denke muss man nicht <![CDATA[ schreiben […]

                    was du denkst, ist irrelevant - eine css deklaration kann einen xml parser dazu bringen, die seite nicht zu parsen

                    Hä? Was für Deklarationen hast du im Sinn?

                    Mir fiele nur sowas in der Art ein: li:before {content: '<'}

                    Live long and prosper,
                    Gunnar

                    --
                    Flughafen in Tempelhof
                    findet jeder Hempel doof.
                    1. Hä? Was für Deklarationen hast du im Sinn?

                      Mir fiele nur sowas in der Art ein: li:before {content: '<'}

                      sollte nicht ein ganz gewöhnlicher nachfahrenselektor reichen?

                      p>em

                      spätestens wenn mal alle browser in der lage sind, application/xml bzw application/xhtml+xml zu parsen wirds nur noch browser geben, die die dinger dann endlich unterstützen

                      1. @@suit:

                        sollte nicht ein ganz gewöhnlicher nachfahrenselektor reichen?

                        p>em

                        Das ist aber ein ganz gewöhnlicher Kindselektor.

                        '>' sollte (im Gegensatz zu '>' und auch '&') harmlos sein. [XML §2.4]

                        Außer bei gewissem generiertem Inhalt fiele mir nichts ein, warum CSS in XHTML nicht PCDATA sein sollen dürfte. Und dann könnte man '>' und '&' auch escapen ('\3E ' bzw. '\26 ').

                        Live long and prosper,
                        Gunnar

                        --
                        Flughafen in Tempelhof
                        findet jeder Hempel doof.
                        1. @@Gunnar Bittersmann:

                          '>' sollte (im Gegensatz zu '>' und auch '&') harmlos sein. [XML §2.4]

                          Grmpf. "im Gegensatz zu '<' und auch '&'"

                          Und dann könnte man '>' und '&' auch escapen ('\3E ' bzw. '\26 ').

                          Copy and paste error detected.

                          Live long and prosper,
                          Gunnar

                          --
                          Flughafen in Tempelhof
                          findet jeder Hempel doof.
          2. @@suit:

            btw: @import ist eine uncoole methode im css einzubinden - nutze das <link /> element im <head /> bereich

            BTW: 'link' ist auch uncool. Cool ist:

            <?xml-stylesheet type="text/css" href="myStyle.css"?>

            Funktioniert natürlich nur bei XHTML als 'application/xhtml+xml' (o.ä. Medientyp).

            Live long and prosper,
            Gunnar

            --
            Flughafen in Tempelhof
            findet jeder Hempel doof.
            1. Hi,

              btw: @import ist eine uncoole methode im css einzubinden - nutze das <link /> element im <head /> bereich

              BTW: 'link' ist auch uncool.

              Ganz generell hat Style nichts mit Coolness zu tun (auch wenn das jede Menge Hiphop-Kiddies nicht begreifen koennen).

              MfG ChrisB

    2. kann man nicht direct in .css file schreiben, doch es gibt hacks fuer IE6, die man in .css datei schreiben kann, sowie

      height:233px !important;

      was ist an !important bitte ein hack?

      und auch wenns eine viel diskutierte glaubensfrage ist: keine hacks verwenden, conditional comments sind leichter handhabbar und zuverlässiger bzw zukunftssicherer

      einen bug ausnutzen der ggf irgendwann wieder unter irgendwelchen umständen in einem anderen browser auftreten kann (= hack) ist eine schlechte idee - das sagt auch andy budd ;)

      auch wenn das buch "css mastery" von ihm teilweise etwas seltsame vorschläge macht (besonders in puncto codereihenfolge bei mehrspaltigen layouts hat er im grunde recht

      1. Hi,

        height:233px !important;
        was ist an !important bitte ein hack?

        die Angabe eines weiteren Wertes der selben Eigenschaft nach diesem Wert. Einer der blödesten Hacks, die ich kenne, und eigentlich nur in style-Attributen halbwegs anwendbar.

        und auch wenns eine viel diskutierte glaubensfrage ist: keine hacks verwenden, conditional comments sind leichter handhabbar und zuverlässiger bzw zukunftssicherer

        Tja, und ich behaupte noch immer das exakte Gegenteil. Wer Conditional Comments zur Einbindung von CSS-Ressourcen verwendet, hat von der Thematik ganz offensichtlich nicht die geringste Ahnung.

        Weiteres siehe Archiv. Das Thema ist durchgekaut genug.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. @@Christoph:

    kann man Conditional Comments auch direkt in CSS-Files einbinden?

    Leider hat es M$ versäumt, das Zeugs nicht nur in HTML und JavaScript, sondern auch da, wo man es am nötigsten brauchen würde, zu impementieren – in CSS.

    http://forum.de.selfhtml.org/archiv/2008/1/t164983/#m1075845,
    http://forum.de.selfhtml.org/archiv/2008/3/t167833/#m1094860

    Live long and prosper,
    Gunnar

    --
    Flughafen in Tempelhof
    findet jeder Hempel doof.