dynamische css-werte?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dynamische css-werte?

    hallo zusammen,

    ich habe eine grundlegende Frage:

    ist es möglich, in einer externen css-datei, die eingebunden über
    <link rel="STYLESHEET" type="text/css" ...> ist,
    die dort verwendeten attribute über das auslesen einer mysql datenbank quasi dynamisch zu halten.

    ist es also möglich, so eine einfache template-machine zu realisieren?

    die werte sollen in der externen datei dynamisch verändert und gespeichert werden und nicht im html auftauchen.
    ansonsten wäre es ja ein leichtes, eine extra datei z.B. "template.php" über
    <? include ("../template.php") ?>
    einzubinden. so würde ja die möglichkeit bestehen, mit den dortigen php-variablen aus einer mysql-tabelle und einem entsprechend angepassten css-script-text eine direkte ausgabe zu ermöglichen und dynamisch zu verändern über die mysql-tabelle. diese stylesheets würden dann aber als volltext im html stehen, und das soll auf keinen fall.


    ich hoffe die frage wurde noch nicht zu oft gestellt. wenn doch: tschuldigung

    todddt

  • #2
    Ja, man kann sich PHP auch bei stylesheets zunutze machen. Manch einer bevorzugt es beispielsweise, Browserweichen oder dergleichen eher mit PHP zu realisieren.

    Dateiendung beachten (.php statt .css):
    Code:
    <link rel="stylesheet" type="text/css" href="{dateiname}.css.php" />
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      danke für die superschnelle antwort.


      <link rel="stylesheet" type="text/css" href="{dateiname}.css.php" />

      dort die css-attribute normal mit echo ausgeben? das wäre ja genial einfach.

      der browser erkennt auch bei dieser endung .php, dass stylesheet tags in der datei enthalten sind? (ich weiß, wahrscheinlich html grundlagen, gestatte doch bitte trotzdem die frage, das wäre nämlich tatsächlich die lösung meines problems)

      danke

      todddt

      Kommentar


      • #4
        Hast du das schon selbst mal ausprobiert? So aufwändig wäre das nicht... machen wir's trotzdem nicht so spannend: es funktioniert tadellos. Du musst nur beachten, der css.php den richtigen content-type mitzugeben:
        PHP-Code:
        header('Content-Type: text/css;'); 
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          hallo griecherus

          heute morgen komme ich endlich dazu deinen vorschlag auszuprobieren. doch leider funktioniert das nicht, so wie ich es mache. könntest du mir vielleicht dabei etwas auf die sprünge helfen? hier die codes:

          zuerst der html-code:
          Code:
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                 "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <title>###</title>
          </head>
          <link rel="STYLESHEET" type="text/css" href="../style.css.php">
          <body>
          	<a href="#" onFocus="if(this.blur) this.blur()" class="main">link</a>
          </body>
          </html>
          und die dazugehörige "style.css.php"
          PHP-Code:
          <? 
              echo "
                  a.main:link{color:#000000;}
                  a.main:visited {color:#000000;}
                  a.main:hover {color:#aaaaaa;}
                  a.main:active {color:#000000;}
              ";
          ?>
          mehr steht in der css.php-datei nicht drin. da fehlt mir doch noch was oder?
          der richtige content-type ist ja im html vorhanden, aber irgendwie übernimmt er die css-anweisungen nicht.

          würd mich über deine hilfe echt freuen
          gruß todddt

          Kommentar


          • #6
            mehr steht in der css.php-datei nicht drin. da fehlt mir doch noch was oder?
            ich antworte mal mir selber. natürlich fehlt was:


            header('Content-Type: text/css;');
            es funktioniert super. hast mir sehr geholfen!!!!

            danke griecherus.

            nächstesmal guck ich gleich genauer hin.

            Kommentar

            Lädt...
            X