Multi: CSS ohne Zugriff auf <head/> einbinden

Mahlzeit,
ich hab auf einer HTML-Seite keinen Zugriff auf <head/> sondern lediglich auf den Inhalt in <body/>

Bisher schreibe ich das CSS direkt ins style-Attribut, was bei komplexeren Designs Spagetticode bzw. lange Zeilen und Wiederholungen wenn das gleiche Element mehrfach vorkommt.

Ich weiss, dass ich per Javascript zusätzliche Elemente in <head/> einhängen kann, aber nicht jeder Browser macht das zwangsläufig richtig.

Wie kann ich das "schön" lösen? Ob der Code valide ist, ist mir in diesem Fall wurscht, weil das Template, in den ich meinen Quellcode einfüge, eh nicht valide ist. Es muss nur in den üblichen Browsern (auch auf Mobilgeräten) funktionieren.

Wenns keine Lösung gibt, werd ich das mit dem style-Attribut beibehalten, würde halt das CSS nur gerne auslagern und mit Klassen und IDs arbeiten.

  1. ich hab auf einer HTML-Seite keinen Zugriff auf <head/> sondern lediglich auf den Inhalt in <body/>

    Warum?

    Wie kann ich das "schön" lösen?

    Garnicht :)

    Ob der Code valide ist, ist mir in diesem Fall wurscht, weil das Template, in den ich meinen Quellcode einfüge, eh nicht valide ist.

    Ein style-Element mit einer @import-Regel im body könnte klappem.

    Es muss nur in den üblichen Browsern (auch auf Mobilgeräten) funktionieren.

    Viel Spaß.

    1. ich hab auf einer HTML-Seite keinen Zugriff auf <head/> sondern lediglich auf den Inhalt in <body/>

      Warum?

      Weil z.B. eBay das nicht zulässt. Und ich gehe davon aus, wegen mir werden sie das nicht ändern.Verhält sich bei praktisch allen Plattformen ähnlich.

      Sollte ich hier was grundlegendes übersehen haben, lass ich mich aber gerne Korrigieren.

      Wie kann ich das "schön" lösen?

      Garnicht :)

      Ich hab die Antwort befürchtet, aber ich wills trotzdem nicht lesen *g*

      Ob der Code valide ist, ist mir in diesem Fall wurscht, weil das Template, in den ich meinen Quellcode einfüge, eh nicht valide ist.

      Ein style-Element mit einer @import-Regel im body könnte klappem.

      Ich probiers mal. Danke

      Es muss nur in den üblichen Browsern (auch auf Mobilgeräten) funktionieren.

      Viel Spaß.

      Ich kann direkt das Grinsen in deinem Gesicht sehen, während du das geschrieben hast ;)

      1. Weil z.B. eBay das nicht zulässt.

        Hättest du das gleich gesagt, wäre meine Antwort anders ausgefallen:

        Pfeif drauf und mach inline-Styles in Massen - ist eh deren Traffic und dafür, dass sie dir rund 14 % deines Ertrags abzwicken (Gebühren, Paypal usw) haben sie es nicht anders verdient, dass man ihre Infrastruktur belastet.

        Ich kann direkt das Grinsen in deinem Gesicht sehen, während du das geschrieben hast ;)

        Im Kontext von "Ich kann/will mich an keinen Standard richten und es 'irgendwie' machen, aber trotzdem muss es überall perfekt funktionieren" kann man mir das auch nicht verdenken ;)

  2. Hallo,

    Wie kann ich das "schön" lösen? Ob der Code valide ist, ist mir in diesem Fall wurscht,

    Nicht valide, ist aber nciht schön. Klappen sollte es aber dennoch. Und noch mehr. Hier ein netter Artikel zu diesem Thema:

    Style-Element anzeigen lassen und editieren (engl.)

    Viele Grüße,
    Marc.

    --
    Und immer schön
    validieren (http://validator.w3.org/)
    1. Hallo,

      Wie kann ich das "schön" lösen? Ob der Code valide ist, ist mir in diesem Fall wurscht,

      Nicht valide, ist aber nciht schön.

      Wie gesagt, die Seiten sind alle nicht valide, was sollte es dann bringen, wenn mein Code zwingend valide ist? Ich lackier ja auch nicht direkt über ein Rostloch, bringt genauso wenig ;)

      Style-Element anzeigen lassen und editieren (engl.)

      Danke, das schau ich mir an.

  3. @@Multi:

    nuqneH

    ich hab auf einer HTML-Seite keinen Zugriff auf <head/> sondern lediglich auf den Inhalt in <body/>

    Es gäbe die Möglichkeit, Stylesheets per HTTP-Header zu verlinken. [HTML401 §14.6] Aber da spielen nicht alle Browser mit. Und wenn man schon keinen Zugriff auf das 'head'-Element hat, dann wohl auch nicht auf HTTP-Header.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Und wenn man schon keinen Zugriff auf das 'head'-Element hat, dann wohl auch nicht auf HTTP-Header.

      Richtig, ich geh davon aus, <head/> zu manipulieren ist einfacher als den Header, wenn ich nicht an die erzeugende Software rankomme.

  4. style-Elemente akzeptieren die Browser auch im body. Das ist zwar nicht erlaubt, funktioniert aber in den verbreiteten Browsern. Ob darin dann wieder @import möglich ist, müsstest du testen.

    Mathias