Wind und Wetter: Bild oder Farbwert

Hi,

ich habe in vielen Scripten den Hintergrund einer Tabellenzelle über <TD class="top"> definiert.

Gibt es eine Möglichkeit, über eine Art If-Abfrage in der .css-Datei abzufragen, ob ein Wert $_SESSION['irgendwas'] existiert und dann stattdessen einen Farbwert als Hintergrund der Tabellenzelle einzusetzen?

Mein css:

td .top
{
background: url(../top.gif);
}

Gewünschtes Ergebnis:

Wenn $_SESSION (kann ich über eine header.php abfragen) existiert, dann kein Bild als Hintergrund, sondern Farbe blau.

Hat dazu einer eine Idee?

  1. Hi,

    Gibt es eine Möglichkeit, über eine Art If-Abfrage in der .css-Datei abzufragen, ob ein Wert $_SESSION['irgendwas'] existiert und dann stattdessen einen Farbwert als Hintergrund der Tabellenzelle einzusetzen?

    Wenn du das CSS auch per PHP generierst, durchaus - allerdings geht dir dann der Vorteil des Cachings dieser Ressource erst mal verloren (du müsstest es selber implementieren).

    Viel einfacher - und sinnvoller - dürfte es sein, dem Element selber im HTML-Dokument in Abhängigkeit vom Session-Wert eine andere Klasse zu geben, über die es dann per CSS gesondert formatiert wird.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright
    until you hear them speak.
    1. Hoi!

      Okay. Wenn Du ein Geist bist, sags doch einfach und lass deine Posts nicht einfach erst erscheinen nachdem ich 20 Minuten spaeter was geantwortet habe... Echt mal. *grummelt*

      --
      "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
            - T. Pratchett
      1. Hallo Steel

        Okay. Wenn Du ein Geist bist, sags doch einfach und lass deine Posts nicht einfach erst erscheinen nachdem ich 20 Minuten spaeter was geantwortet habe... Echt mal. *grummelt*

        Vielleicht solltest du das mit deinem Browsercache klären.

        Mir geht es aber ähnlich. Sehr häufig sehe ich erst nach dem Abschicken eines Postings, dass vor mir bereits jemand fast die gleiche Antwort gegeben hat.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
        1. Heyho,

          Vielleicht solltest du das mit deinem Browsercache klären.

          Normalerweise geht das hier mit dem MSIE sehr gut. Nur Zuhause mit meinem FF muss ich das Forum dauernd explizit neu laden.

          Mir geht es aber ähnlich. Sehr häufig sehe ich erst nach dem Abschicken eines Postings, dass vor mir bereits jemand fast die gleiche Antwort gegeben hat.

          Und dabei hab ich diesmal extra nochmal nachgeschaut. :(

          --
          "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                - T. Pratchett
    2. Hallo ChrisB

      Viel einfacher - und sinnvoller - dürfte es sein, dem Element selber im HTML-Dokument in Abhängigkeit vom Session-Wert eine andere Klasse zu geben, über die es dann per CSS gesondert formatiert wird.

      Oder <body> und dann Verwendung des Nachfahrenselektors.
      Wenn es sich um viele Elemente handelt, könnte es einfacher sein, nur einmal dem <body> abhängig vom Sessionsstatus eine Klasse (oder Id) zu verpassen, als das bei jedem Element zu berücksichtigen, welches eventuell einmal unterschiedlich formatiert werden soll.

      Auf Wiederlesen
      Detlef

      --
      - Wissen ist gut
      - Können ist besser
      - aber das Beste und Interessanteste ist der Weg dahin!
  2. Hiho!

    Wenn $_SESSION (kann ich über eine header.php abfragen) existiert, dann kein Bild als Hintergrund, sondern Farbe blau.

    Hat dazu einer eine Idee?

    Ich nehm mal an Du nutzt php, also gib deine CSS an eben dieses weiter. Entweder Du ueberredest Deinen Server css Dateien auch alle an php weiterzugeben oder du rufst halt eine .php statt .css auf.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
    1. Ich nehm mal an Du nutzt php, also gib deine CSS an eben dieses weiter. Entweder Du ueberredest Deinen Server css Dateien auch alle an php weiterzugeben oder du rufst halt eine .php statt .css auf.

      Arghs :-)
      Danke für den Denkanstoss. Hätte ich auch selber drauf kommen können.
      Ich könnt ja auch einfach mit 2 .css Dateien arbeiten und in Abhängigkeit zur Session die eine oder andere aufrufen.

      1. Hi,

        Ich könnt ja auch einfach mit 2 .css Dateien arbeiten und in Abhängigkeit zur Session die eine oder andere aufrufen.

        Wenn es nur um die Änderung der einen Eigenschaft für ein Element geht (oder auch vergleichbare Grössenordnungen), dann wäre das wenig sinnvoll.

        Egal, ob du zwei weitgehend identische "komplette" Stylsheets mit nur diesem einen Unterschied erstellst, oder zusätzlich zum normalen "kompletten" zwei weitere, die jeweils nur diese eine Eigenschaft für das eine Element in unterschiedlicher Ausprägung enthalten - es wäre vom Standpunkt Caching bzw. HTTP-Overhead her reichlich unsinnig.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Egal, ob du zwei weitgehend identische "komplette" Stylsheets mit nur diesem einen Unterschied erstellst, oder zusätzlich zum normalen "kompletten" zwei weitere, die jeweils nur diese eine Eigenschaft für das eine Element in unterschiedlicher Ausprägung enthalten - es wäre vom Standpunkt Caching bzw. HTTP-Overhead her reichlich unsinnig.

          MfG ChrisB

          Wer chacht was?
          Und es geht um User. Die einmal ein Design auswählen und es immer nutzen.

          1. Hi!

            Wer chacht was?
            Und es geht um User. Die einmal ein Design auswählen und es immer nutzen.

            Dann machts trotzdem Sinn, wenn man nur ein Element veraendert, diesem dann serverseitig eine andere Klasse zu verpassen. Was Du beschreibst, macht Sinn, wenn die User sich andere Templates einstellen koennen.

            --
            "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                  - T. Pratchett