Eddie: mehrere CSS-Dateien vs. dynamisches CSS mit PHP

Hallo allerseits,

meine CSS-Datei ist mittlerweile 24 KB groß und hat über 1000 Zeilen. Keine Ahnung, ob das normal ist...
Wie auch immer, ich wuerde sie gerne zergliedern, vor allem weil ein Großteil des Codes für normale Besucher irrelevant ist und nur für registrierte Mitglieder benötigt wird.

Folgende Methoden schweben mir vor:
a) myCss.php?sprache=DE&modus=MITGLIED
   Also Sprachwahl (wirkt sich auf's Design aus) und Moduswahl dynamisch.
b) immerNoetig.css + oeffentlich.css
   ODER
   immerNoetig.css + mitglied.css

Die erste (dynamische) Variante waere mir lieber. Nur:
wenn da ein Fragezeichen dahinter steht, wird dann myCss.php?sprache=DE jedes Mal neu geladen?
Was haltet ihr davon?

Danke für eure Hilfe,
Eddie

--
Old men and far travelers may lie with authority.
  1. Hallo Eddie,

    meine CSS-Datei ist mittlerweile 24 KB groß und hat über 1000 Zeilen. Keine Ahnung, ob das normal ist...

    vornweg: Ich finde die Grösse Deiner CSS-Datei nicht bedrohlich. Da Du die Style-Angaben ja sinnvollerweise in eine externe Datei auslagerst, werden sie nur einmal zum Benutzer übertragen und dort im Cache gehalten.

    Allerdings kannst Du die CSS-Angaben evtl. noch etwas optimieren. Wenn Du auf 24kB kommst, hast Du unter Umständen sämtliche Formatierungen für alle Tags wiederholt. Beachte, dass bei Verschachtelungen die inneren (Kinder) Elemente von den Äusseren (Eltern) die Formatangaben erben.

    Auch kannst Du mehrere Tags gemeinsam formatieren.

    p, td, #markierung { font-size: 12pt; color:#000000; }

    und ihnen dann einzeln noch spezifische Zusatzeigenschaften verpassen.

    p { font-weight: bold; }

    Folgende Methoden schweben mir vor:
    a) myCss.php?sprache=DE&modus=MITGLIED
       Also Sprachwahl (wirkt sich auf's Design aus) und Moduswahl dynamisch.
    b) immerNoetig.css + oeffentlich.css
       ODER
       immerNoetig.css + mitglied.css

    Um auf Deine Frage zurückzukommen: Ich würde (und mache das auch so) mehrere CSS-Dateien verwenden. Da Dein Script, wie Du sagst nicht gecached wird, erweist Du dem Besucher und Dir einen Bärendienst.

    Gruss,
    Lutz

  2. Hi Eddie,

    Ich versteh nicht, was du meinst und ich denke, das geht anderen genauso.

    Ich würde es in etwa so lösen (ungetestet):

    <? php
    if(isset($_GET['sprache'])) {
        switch($_GET['sprache']) {
        case de:
            $lang = 'deutsch';
            break;
        case en:
            $lang = 'english';
            break;
        default:
            $lang = 'standard';
        }
    } else {
    $lang = 'standard';
    }
    if(isset($_GET['modus']) && ($_GET['modus'] == "MITGLIED")) {
        $mod = 'mitglied';
    } else {
        $mod = 'ohneglied';
    }
    echo = "<link rel='stylesheet' type='text/css' href='pfad/".$lang.".css'>";
    echo = "<link rel='stylesheet' type='text/css' href='pfad/".$mod.".css'>";
    ?>

    Ob das allerdings der Weisheit letzter Schluss ist, kann ich nicht beurteilen, da ich noch viel zu wenig über PHP und seine Möglichkeiten weiss.
    Gruß

    Kurt

    --
    Nein, ich beantworte keine Anfragen per e-mail.
    ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
    "Die Ehe ist der Versuch, zu zweit mit den Problemen fertig zu werden, die man alleine nie gehabt haette."  (Woody Allen; am. Schauspieler u. Regisseur; geb. 1935)
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. Hallo Kurt,

      Ich versteh nicht, was du meinst und ich denke, das geht anderen genauso.

      Das hast Du schon ganz gut verstanden.
      Nur soll zum Schluss anstelle von

      <link rel='stylesheet' type='text/css' href='pfad/deutsch.css'>

      <link rel='stylesheet' type='text/css' href='pfad/sprachen.css.php?l=de'>

      stehen.
      Die CSS-Datei ist also eigentlich ein PHP-Script. Ich will halt meine 1001 Zeilen nicht in zwei Versionen für jede Sprache bereithalten, da waer mir der Aufwand zu groß.
      Funktionieren tut's (Mozilla erwartet einen speziellen CSS-Header), nur hat Lutz vielleicht recht mit dem "Bärendienst".

      Vielleicht mache ich es jetzt so, dass ich nur die paar wenigen dynamischen CSS-Werte in ein PHP-Script ausgliedere, das dann immer geladen werden muss. Und die anderen CSS-Anweisungen dann in entsprechende Dateien, also

      dynamisch.css.php
      immerNoetig.css
      oeffentlich.css
      mitglied.css

      die ich dann dem Kontext entsprechend anfordere.

      Was haltet ihr davon?

      Danke, Eddie

      --
      Old men and far travelers may lie with authority.
      1. Hi Eddie,

        [...]

        Vielleicht mache ich es jetzt so, dass ich nur die paar wenigen dynamischen CSS-Werte in ein PHP-Script ausgliedere, das dann immer geladen werden muss. Und die anderen CSS-Anweisungen dann in entsprechende Dateien, also

        dynamisch.css.php
        immerNoetig.css
        oeffentlich.css
        mitglied.css
        die ich dann dem Kontext entsprechend anfordere.

        Was haltet ihr davon?

        Dazu kann ich wenig sagen, da ich, wie ich im vorherigen Posting bereits bemerkte, zuwenig Kenntnisse über PHP habe.
        Wenn`s funktioniert und keine Einschränkung darstellt, warum nicht?
        Eine derartige Lösung ist mir allerdings völlig neu, aber man lernt ja nie aus. :-)

        Gruß

        Kurt

        --
        Nein, ich beantworte keine Anfragen per e-mail.
        ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
        "Das Glueck ist das einzige, das sich verdoppelt, wenn man es teilt."  (Albert Schweitzer; dt. Theologe, Mediziner u. Philosoph; 1875-1965)
        http://elektro-dunzinger.at
        http://shop.elektro-dunzinger.at
      2. Hi,

        Vielleicht mache ich es jetzt so, dass ich nur die paar wenigen dynamischen CSS-Werte in ein PHP-Script ausgliedere, das dann immer geladen werden muss. Und die anderen CSS-Anweisungen dann in entsprechende Dateien, also

        dynamisch.css.php
        immerNoetig.css
        oeffentlich.css
        mitglied.css

        macht m.E. wenig Sinn, wenn die dynamische Datei stets neu geschrieben und damit neu übertragen werden sollte.
        Da würde ich eher die dynamischen Styles direkt in den Head der html-Datei schreiben - spart eine Anforderung.

        freundliche Grüße
        Ingo