Dieter Raber: Stylesheet im Body einbinden

Hallo,

Externe Javascripte kann man ja bekanntlich, die passenden Umstaende vorausgesetzt, an nahezu beliebiger Stelle im Body einer Seite einbinden. Bei CSS hingegen ist man, was externe Dateien anbetrifft, auf dem head-Bereich angewiesen. Zwar funktioniert eine Einbindung im Body auch, ist aber meines Wissens nicht valide.
Ich habe nun eine PHP-Klasse, die im Endeffekt ein Formular erzeugt, bei dem ich fuer einige Styles feste Werte brauche. Man muss sich das so vorstellen, dass die build() Funktion der Klasse ein Formular mit allem drum und dran zurueckgibt, nur halt nicht dem Stylesheet. Ich mag aber auch nicht die Styles in jedem Element deklarieren, wenn es sich vermeiden laesst.
Meine Frage ist, gibt es neben der Tatsache, dass eine Stylesheeteinbindung im Body nicht valide ist, noch ander Risiken und Nebenwirkungen?

Gruß,

Dieter

  1. Hallo,

    Meine Frage ist, gibt es neben der Tatsache, dass eine Stylesheeteinbindung im Body nicht valide ist, noch ander Risiken und Nebenwirkungen?

    hmmm, das einzige was mir jetzt einfällt, wäre, das es evtl. einfach nicht interpretiert wird.

    Bert

    --
    E492: Not an editor command: Wq
    ln -s /dev/brain
    Selbst ist der Mann, wenn er sich verdoppeln kann
  2. Hi,

    Meine Frage ist, gibt es neben der Tatsache, dass eine Stylesheeteinbindung im Body nicht valide ist, noch ander Risiken und Nebenwirkungen?

    reicht das nicht an Nachteilen?

    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. Hallo Cheatah,

      reicht das nicht an Nachteilen?

      Nicht so richtig. Gemessen an dem Vorteil, dass ich nicht bergeweise Inlinestyles deklarieren muss, koennte ganz gut damit leben, dass der Validator meiner gram waere. Notfalls wuerde ich evtl. aufkeimende Minderwertigkeitsgefuehle in einem Dram Glenlivet ertraenken ;-)

      Gruß,

      Dieter

      1. Hi,

        reicht das nicht an Nachteilen?
        Nicht so richtig.

        dann sind Dir die Konsequenzen invaliden Codes nicht bewusst, z.B. Inkompatibilität und nicht standardisierte Fehlerkorrekturen. Sprich: In den Sternen liegende Ergebnisse.

        Gemessen an dem Vorteil, dass ich nicht bergeweise Inlinestyles deklarieren muss,

        Niemand hat gesagt, dies sei die Alternative.

        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. Hallo Cheatah,

          dann sind Dir die Konsequenzen invaliden Codes nicht bewusst, [...]

          Ok, der Punkt geht an Dich

          Niemand hat gesagt, dies sei die Alternative.

          Sieht aber schon so aus. Entweder ich ich binde ein Stylesheet im Head ein (was ich hier aus den dargelegten Gruenden eher nicht machen moechte) oder ich deklariere Inlinestyles. Oder aber mir entgeht was, ich hoffe Du laesst mich in dem Fall nicht dumm sterben.

          Gruß,

          Dieter

          1. Hi,

            Sieht aber schon so aus. Entweder ich ich binde ein Stylesheet im Head ein (was ich hier aus den dargelegten Gruenden eher nicht machen moechte) oder ich deklariere Inlinestyles. Oder aber mir entgeht was, ich hoffe Du laesst mich in dem Fall nicht dumm sterben.

            ändere das Konzept Deiner Programmlogik dahingehend, dass der <head>-Bereich zu jedem notwendigen Zeitpunkt manipulierbar ist, oder sorge für eine hinreichend frühe Entscheidung(smöglichkeit).

            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
  3. Hi,

    Man muss sich das so vorstellen, dass die build() Funktion der Klasse ein Formular mit allem drum und dran zurueckgibt, nur halt nicht dem Stylesheet. Ich mag aber auch nicht die Styles in jedem Element deklarieren, wenn es sich vermeiden laesst.

    und was spricht gegen die Übernahme in ein ausgelagertes Stylesheet? Gebe dem form eine ID und Du kannst sämtliche Angaben hierüber individuell festlegen.

    freundliche Grüße
    Ingo

    1. Hallo Ingo,

      Gebe dem form eine ID und Du kannst sämtliche Angaben hierüber individuell festlegen.

      Das ist mir schon klar und funktioniert im Moment auch so. Das hat aber den Nachteil, dass jemand, der die Klasse benutzen will, vorher auch das Stylesheet eintragen muss. Was mir vorschwebt, ist dass man nur schreibt

      $foo = new dieKlasse(einige Parameter);
      $bar = $foo -> machDasFormular();

      und $bar enthaelt alles, komplett mit Styles, Bildern usw.

      Gruß,

      Dieter

      1. Hi,

        Das ist mir schon klar und funktioniert im Moment auch so. Das hat aber den Nachteil, dass jemand, der die Klasse benutzen will, vorher auch das Stylesheet eintragen muss.

        Ich sehe den Vorteil, würde es aber dennoch nicht machen, da nicht sichergestellt ist, ob alle Browser (auch künftig) das CSS im body interpretieren. Ist es denn wirklich ein zu großer Aufwand, dem form eine ID zu geben und dann den dazu passenden Style-Bereich im head unterzubringen?

        freundliche Grüße
        Ingo

        1. Hallo Ingo,

          Ist es denn wirklich ein zu großer Aufwand [...]

          Ich kann wohl ganz gut damit leben. Ich haette es halt gerne, wie beschrieben, vereinfacht, aber wenn es nicht sein soll, geht meine kleine Welt auch nicht unter.

          Gruß,

          Dieter

  4. Meine Frage ist, gibt es neben der Tatsache, dass eine Stylesheeteinbindung im Body nicht valide ist, noch ander Risiken und Nebenwirkungen?

    Bei Risiken oder Nebenwirkungen schlagen Sie bitte Ihren Arzt oder Apotheker oder zerreißen die Packungsbeilage!

    Gruß
    Avalon

  5. Dieter,

    Hallo,

    Externe Javascripte kann man ja bekanntlich, die passenden Umstaende vorausgesetzt, an nahezu beliebiger Stelle im Body einer Seite einbinden. Bei CSS hingegen ist man, was externe Dateien anbetrifft, auf dem head-Bereich angewiesen. Zwar funktioniert eine Einbindung im Body auch, ist aber meines Wissens nicht valide.
    Ich habe nun eine PHP-Klasse, die im Endeffekt ein Formular erzeugt, bei dem ich fuer einige Styles feste Werte brauche. Man muss sich das so vorstellen, dass die build() Funktion der Klasse ein Formular mit allem drum und dran zurueckgibt, nur halt nicht dem Stylesheet. Ich mag aber auch nicht die Styles in jedem Element deklarieren, wenn es sich vermeiden laesst.
    Meine Frage ist, gibt es neben der Tatsache, dass eine Stylesheeteinbindung im Body nicht valide ist, noch ander Risiken und Nebenwirkungen?

    Dieter,
    Weiß nicht, ob ich dich richtig verstanden habe, aber kannste nicht alle Varianten in dein Stylesheet (das du problemlos im head einbindest) schreiben à la

    form.Variante1 {...}
        form.Variante1 button {...}
        ...
        form.Variante2 {...}
        form.Variante2 button {...}
        ...
        form.VarianteN {...}
        form.VarianteN button {...}
        ...

    und beim Generieren dem form eine Klasse aus Variante1, ..., VarianteN zuweisen?

    Gunnar

    --
    "Nobody wins unless everybody wins." (Bruce Springsteen)