AllesMeins: Wie "sicher" ist @import

Hiho,

ich überlege gerade meine externen Stylesheets über @import einzubinden anstatt über das link-Element. Da Stylesheets aber doch schon recht wichtig für die Anzeige einer Seite sind, würde ich gerne vorher wissen wie sicher dieser Weg ist - Sprich gibt es Browser (vor allem der ewige Wackelkandidat IE) die dies nicht beherschen oder gibt es andere Gründe, die dagegen sprechen diese Technik zu nutzen?

Grüsse

Marc

  1. Hi,

    ich überlege gerade meine externen Stylesheets über @import einzubinden anstatt über das link-Element.

    wieso "anstatt"?

    Da Stylesheets aber doch schon recht wichtig für die Anzeige einer Seite sind,

    Nein. Eine HTML-Seite funktioniert auch ohne CSS, wenn sie nicht grob falsch erstellt ist.

    würde ich gerne vorher wissen wie sicher dieser Weg ist - Sprich gibt es Browser (vor allem der ewige Wackelkandidat IE) die dies nicht beherschen

    Die exakte Syntax - es gibt diverse Varianten - ist Gegenstand einiger CSS-Hacks.

    oder gibt es andere Gründe, die dagegen sprechen diese Technik zu nutzen?

    Das sind eher Gründe, die _für_ @import sprechen.

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

      wieso "anstatt"?

      Naja, eine Möglichkeit ist <link rel usw. eine andere ist

      <style type="text/css" media="screen">@import "./datei.css";</style>

      Und wenn ich die eine raus mache und stattdessen die andere verwende, dann ist es "anstatt".

      Da Stylesheets aber doch schon recht wichtig für die Anzeige einer Seite sind,

      Nein. Eine HTML-Seite funktioniert auch ohne CSS, wenn sie nicht grob falsch erstellt ist.

      Hah, ich wusste das das kommt und du hast sogar zu den drei kandidaten gehört, die mir als erstes eingefallen sind, von wem das kommen könnte ;)
      Aus genau dem Grund habe ich "recht wichtig" geschrieben und nicht "werden benötigt" oder so... Das hab ich hier im Forum schon gelernt, das man bei sowas vorsichtig sein muss ;)

      Die exakte Syntax - es gibt diverse Varianten - ist Gegenstand einiger CSS-Hacks.

      Ist das da oben eine akzeptable Syntax, die Aussichten auf eine möglichst grosse Kompatibilität zu verschiedenen Browsern hat?

      Marc

      1. Hi,

        wieso "anstatt"?
        Naja, eine Möglichkeit ist <link rel usw. eine andere ist
        <style type="text/css" media="screen">@import "./datei.css";</style>

        eine dritte ist <link> mit @import in der CSS-Ressource. Dadurch kommt man weniger in Versuchung, CSS-Angaben im Dokument abzulegen - _und_ es entspricht eher der Intention von <link>.

        Nein. Eine HTML-Seite funktioniert auch ohne CSS, wenn sie nicht grob falsch erstellt ist.
        Hah, ich wusste das das kommt und du hast sogar zu den drei kandidaten gehört, die mir als erstes eingefallen sind, von wem das kommen könnte ;)

        Das freut mich zu hören :-)

        Aus genau dem Grund habe ich "recht wichtig" geschrieben und nicht "werden benötigt" oder so... Das hab ich hier im Forum schon gelernt, das man bei sowas vorsichtig sein muss ;)

        Jupp :-) Es ist aber tatsächlich so, dass das Ausschließen diverser Browser vor CSS-Code die oft weitaus bessere Alternative gegenüber dem Versuch, auch bei eben diesen Browsern ein ähnliches Aussehen hinzubekommen ist. Man fährt besser, wenn man das Aussehen per se als unwichtig ansieht. Es _ist_ optional.

        Die exakte Syntax - es gibt diverse Varianten - ist Gegenstand einiger CSS-Hacks.
        Ist das da oben eine akzeptable Syntax, die Aussichten auf eine möglichst grosse Kompatibilität zu verschiedenen Browsern hat?

        Ja, wenn Du den IE 4 ausschließen, IE 5 aber auch auf dem Mac mit den Styles versorgen möchtest. Ich bevorzuge dennoch die url()-Schreibweise, und meistens verwende ich dabei keine Quotes.

        Nachschlagetipp: http://centricle.com/ref/css/filters/

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

          eine dritte ist <link> mit @import in der CSS-Ressource.

          Gerade das möchte ich vermeiden, da es scheinbar ein paar Bedenken bezüglich der Barrierefreiheit deswegen gibt...
          Ausserdem scheint mir das auch "logischer" das CSS in ein "style" einzupacken als in ein "link"...

          Ja, wenn Du den IE 4 ausschließen, IE 5 aber auch auf dem Mac mit den Styles versorgen möchtest. Ich bevorzuge dennoch die url()-Schreibweise, und meistens verwende ich dabei keine Quotes.

          Naja, die Schreibweise ist von w3.org geklaut ;)
          Deswegen glaube ich denen einfach mal, das die wissen was sie tun. Ich wollte nur sicherstellen das dies auch mit etwas älteren Browsern funktioniert.

          Marc

          1. Hi,

            eine dritte ist <link> mit @import in der CSS-Ressource.
            Gerade das möchte ich vermeiden, da es scheinbar ein paar Bedenken bezüglich der Barrierefreiheit deswegen gibt...

            ehrlich? Welche denn?

            Ausserdem scheint mir das auch "logischer" das CSS in ein "style" einzupacken als in ein "link"...

            Mir nicht. <style> ist für Testzwecke, nicht für den Live-Betrieb - CSS-Code hat vollständig separat zu sein. Stichpunkt Trennung von Struktur und Layout.

            Naja, die Schreibweise ist von w3.org geklaut ;)
            Deswegen glaube ich denen einfach mal, das die wissen was sie tun.

            Das W3C kümmert sich nicht[1] darum, welche Browser wie inkompatibel implementiert sind.

            Ich wollte nur sicherstellen das dies auch mit etwas älteren Browsern funktioniert.

            Ja - im Sinne von "es schließt sie vom CSS-Code aus". Das ist oft genug anzustreben.

            Cheatah

            [1] Ab und zu tun sie's doch - meiner persönlichen Ansicht nach sogar viel zu oft. Manchmal könnte man meinen, das W3C sei nicht für Standards zuständig, sondern für Workarounds ... :-/

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

              ehrlich? Welche denn?

              Ich zweifele ja auch ein wenig daran, aber wenn ich mich schon um die barrierefreiheit kümmer, dann richtig ;)
              Hab meine Webseite mit tidy getestet und der beschwert sich bei den link Elemente wegen fehlender Meta-data und verweist dabei hierauf

              Techniques For Accessibility Evaluation And Repair Tools - 13.2.1.2

              Nun ja. Dort ist zwar ein Vorschlag, das stylesheets einfach ignoriert werden sollten, aber tidy ist anderer Meinung und sagt zu den link-Tag: "[...]It should not be used to access style sheets."

              Naja, und da es ne problemfreie Alternative dazu gibt... Warum nicht die nehmen ;)

              Marc

  2. Liebe(r) AllesMeins,

    der IE macht das tadellos mit, solange Du keine Medienangabe dahinter schreibst.

    @import url(/pfad/cssdatei.css); /* klappt im IE */  
    @import url(/pfad/cssdatei.css) screen, projection; /* klappt im IE NICHT!!! */
    

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  3. AllesMeins,

    ich überlege gerade meine externen Stylesheets über @import einzubinden anstatt über das link-Element.

    Blöde Frage: Warum?

    Nochmal nachgedacht: So blöd ist die Frage gar nicht.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hiho,

      Antwort: Der Auslöser war, das sich die tidy-extension für den firefox darüber beschwert hat. Aber jetzt wo ich mir die alternative angucke scheint es für mich so gefühlsmässig die "saubere" Lösung zu sein den CSS Code in ein style-Atribut zu packen, wo er hingehört und nicht dafür das "Universalatribut" link zu "missbrauchen"...

      Marc

      1. Hallo AllesMeins.

        Aber jetzt wo ich mir die alternative angucke scheint es für mich so gefühlsmässig die "saubere" Lösung zu sein den CSS Code in ein style-Atribut zu packen, wo er hingehört und nicht dafür das "Universalatribut" link zu "missbrauchen"...

        Ich denke, du solltest ihn wenn überhaupt lieber in das http://de.selfhtml.org/html/referenz/elemente.htm#style@title=style-Element statt in das http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=style-Attribut packen.

        Einen schönen Dienstag noch.

        Gruß, Ashura

        1. Hiho,

          Ich denke, du solltest ihn wenn überhaupt lieber in das http://de.selfhtml.org/html/referenz/elemente.htm#style@title=style-Element statt in das http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=style-Attribut packen.

          Wo du Recht hast... Das ist aber auch schwer mit diesen ganzen Fremdwörtern.

          Marc

      2. Hi,

        und nicht dafür das "Universalatribut" link zu "missbrauchen"...

        wieso mißbrauchen? Gerade dazu - zum Einbinden von Resourcen - ist es doch konzipiert.
        Abgesehen davon hat @import durchaus noch Nachteile (sogar im Firefox):

        Es ist sinnvoll, auch älteren Browsern zumindest ein Grund-Design per link anzubieten.
        Dies verhindert im IE den unschönen Effekt, daß die Seite beim Laden ohne Styles dargestellt wird.
        Beim kompletten Speichern einer Seite haben aßer Opera alle mir bekannten Browser Probleme mit @import.
        Firefox speichert diese Resourcen nicht mit.
        Der IE würde sie speichern, fordert hierzu aber dummerweise nicht vorhandene Resourcen an wie z.B. /tanz/Tanzfiguren-Beschreibungen Disco-Fox-Dateien/1ngoxtra.css

        freundliche Grüße
        Ingo

  4. Hi,

    Sprich gibt es Browser (vor allem der ewige Wackelkandidat IE) die dies nicht beherschen

    Ja. Der noch viel wackligere Netscape 4.x ignoriert diese Angabe - was i.d.R. dann auch durchaus erwünscht ist. :-)

    oder gibt es andere Gründe, die dagegen sprechen diese Technik zu nutzen?

    Dynamische Styles (s. Coding: CSS-Regeln auslesen & ändern) sind damit browserübergreifend nur schwer möglich.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!