RuD: dynamisches CSS via PHP ??? geht das

Seid gegrüßt!
Kann man über PHP dymanische Styles anlegen?
Soll heißen: man ruft in der Seite über
<link rel="stylesheet" type="text/css" href="style.css.php"> auf und im "style-PHP" wird dann die aufrufende Seite abgefragt und dann mittels z.B. echo ('body {color: black;}'); keine HTML erzeugt sonder eines CSS?

Geht sowas? Wenn ja muss man was besonderes beachten?

Danke schonmal im Voraus.

--
Bis Später
                       __
      ________   _____/ //
     / ___   // / __   //
    / //  / //_/ /_/  //
   /_//  /___________//
==========================================================
Testversion meiner Seite: http://www.rudweb.de/test2
  1. Hallo ,

    Kann man über PHP dymanische Styles anlegen?
    Soll heißen: man ruft in der Seite über
    <link rel="stylesheet" type="text/css" href="style.css.php">

    Ja das geht, dem Browser ist es egal ob die Datei von PHP
    ausgeliefert wird.

    Geht sowas? Wenn ja muss man was besonderes beachten?

    Du musst den Header auf text/css setzen.
    header('Content-type: text/css');

    gruesse aus'm ruhrpott
      jens mueller

    --
    As long as a single mind remembers, as long as a single heart
    beats with passion, how can a dream die?
    \//_ Live long and prosper
    sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
  2. Seid gegrüßt!
    Kann man über PHP dymanische Styles anlegen?

    Geht sowas? Wenn ja muss man was besonderes beachten?

    Ja, siehe auch hier

    Gruß,

    gk

  3. Hi,

    Kann man über PHP dymanische Styles anlegen?

    man kann, wie ja bereits beschrieben wurde, aber meist ist das wenig sinnvoll, weil:

    • entweder die Browser cachen die CSS-Datei, so dass Änderungen nicht registriert werden
    • oder sie cachen sie aufgrund des headers nicht, so dass sie ständig erneut angefordert wird.

    Daher finde ich es meist sinnvoll, die (oft ja nur wenigen) Erweiterungen/Änderungen des Standard-CSS in einen Style-Bereich direkt in der HTML-Datei zu schreiben.

    freundliche Grüße
    Ingo

  4. Moin!

    Soll heißen: man ruft in der Seite über
    <link rel="stylesheet" type="text/css" href="style.css.php"> auf und im "style-PHP" wird dann die aufrufende Seite abgefragt und dann mittels z.B. echo ('body {color: black;}'); keine HTML erzeugt sonder eines CSS?

    Das Problem ist, dass PHP die aufrufende Seite nicht kennt. Referrer wären eine Möglichkeit, die aber absolut nicht zuverlässig arbeitet. Es wäre also notwendig, einen URL-Parameter zu übergeben.

    Das Caching-Problem einer dynamisch generierten CSS-Datei wurde schon angesprochen. Da außerdem jede Seite, die dynamisch anders formatiert werden soll, den CSS-Aufruf individuell angepaßt kriegen muß, kannst du stattdessen auch einfach dem <body> eine ID zuweisen, und im statischen CSS dann in Abhängigkeit von dieser ID entsprechend formatieren:

      
    <body>  
    <body id="dynamik1">  
    <body id="dynamik2">  
    
    

    mit

      
    body {background-color:red}  
      
    #dynamik1 {background-color:black}  
    /* ergibt schwarze Hintergrundfarbe */  
      
    #dynamik2 h1 {color:green; font-size:200px}  
    /* ergibt rote Hintergrundfarbe und riesige grüne H1-Schrift */  
    
    

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Hello out there!

      /* ergibt rote Hintergrundfarbe und riesige grüne H1-Schrift */

      Die riesige Schrift wird Rot/grün-Blinden auch nicht helfen ... 8-)

      See ya up the road,
      Gunnar

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)