Variables in CSS?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Brujah
    Beer Money Baron
    • Jan 2001
    • 22157

    #1

    Variables in CSS?

    Is it possible to use variables in CSS? I have an html layout. I want to use one main css for structure and just decide on the colors based on a variable if possible. Can it be done?
  • darksoul
    Confirmed User
    • Apr 2002
    • 4997

    #2
    it can't be done with pure css afaik. But look into dynamically loading css files with javascript
    that'll get your stuff done.
    1337 5y54|)m1n: 157717888
    BM-2cUBw4B2fgiYAfjkE7JvWaJMiUXD96n9tN
    Cambooth

    Comment

    • harvey
      Confirmed User
      • Jul 2001
      • 9266

      #3
      I'm not sure what do you exactly need, but if I'm getting you right, of course you can, and it's quite easy, check http://interfacelab.com/variables-in-css-via-php/

      in action (from http://sperling.com/examples/pcss/ )

      in action (from http://sperling.com/examples/pcss/)

      Code:
      <?php
      header("Content-type: text/css");
      $color = "green";        // <--- define the variable 
      echo <<<CSS   
      /* --- start of css --- */
      h2
      	{
      	color: $color;  /* <--- use the variable */
      	font-weight: bold;
      	font-size: 1.2em;
      	text-align: left;
      	}
      /* --- end of css --- */
      CSS;
      ?>

      I already made a few projects using this method and works like a charm, in conjunction with XSL/XML environments is a real help then again, not sure if this is what you're looking for
      This post is endorsed by CIA, KGB, MI6, the Mafia, Illuminati, Kim Jong Il, Worldwide Ninjas Association, Klingon Empire and lolcats. Don't mess around with it, just accept it and embrace the truth

      Comment

      • harvey
        Confirmed User
        • Jul 2001
        • 9266

        #4
        aaah, now I see you want html and not php... well, there are ways, but don't remember exactly how since I didn't pay much attention because it was too much work for the result
        This post is endorsed by CIA, KGB, MI6, the Mafia, Illuminati, Kim Jong Il, Worldwide Ninjas Association, Klingon Empire and lolcats. Don't mess around with it, just accept it and embrace the truth

        Comment

        • StuartD
          Sofa King Band
          • Jul 2002
          • 29903

          #5
          Strangely enough, you can do it in IE but not any other browser. Go figure, the one browser that does CSS the worst....

          In IE... you can do this:

          <style>
          #column1 {
          width: expression(document.getElementsByTagName('body')[0]) / 2);
          }
          </style>

          In IE, you can use javascript within the expression brackets. But every other browser will ignore it.

          You can
          This is me on facebook
          This is me on twitter

          Comment

          • StuartD
            Sofa King Band
            • Jul 2002
            • 29903

            #6
            Wow, gfy makes posting slow...

            Anyway, I was going to finish with:

            You can do it that way to avoid using php if you don't know it or have it readily available but php will give you way more control.
            This is me on facebook
            This is me on twitter

            Comment

            • Kard63
              Confirmed User
              • Nov 2003
              • 8944

              #7
              What is your avatar Stuart? It looks like a fox turning into a sea creature and humping the earth.

              Comment

              • StuartD
                Sofa King Band
                • Jul 2002
                • 29903

                #8
                Originally posted by Kard63
                What is your avatar Stuart? It looks like a fox turning into a sea creature and humping the earth.
                Heh, pretty damn close actually.

                It's a 3d representation of the Firefox logo.
                This is me on facebook
                This is me on twitter

                Comment

                • brandonstills
                  Confirmed User
                  • Dec 2007
                  • 1964

                  #9
                  If you use a dynamic language like PHP to generate it. It's more difficult if the file ends in .css because you would have to configure apache to treat it as PHP (which also slows the request down), but if you do it as an embedded CSS in a PHP file this is definitely possible.

                  There was some talk of CSS variables recently but until it becomes standard in all browsers I don't see a point in looking into it.

                  Brandon Stills
                  Industry and programming veteran
                  [email protected] | skype: brandonstills | ICQ #495-171-318

                  Comment

                  • Brujah
                    Beer Money Baron
                    • Jan 2001
                    • 22157

                    #10
                    Some good suggestions, and I can definitely work with these. Thanks.

                    Comment

                    Working...