469,623 Members | 951 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,623 developers. It's quick & easy.

define custom color names: is this possible

Hello,

I am making a website where the user can choose a 'skin'.
This works with asp en stylesheets.

In the stylesheet, a number of tags are (re)defined.
The main idea is to have a limited number of colors (lets say 4) and use
only these colors to color up every tag.

However, with a long list of (custom) styles, it is a lot of work to scan
every item in the stylesheet and assign the correct color definition.

So I am wondering,
is it possible to use variables or something like that to give a name to
custom color
and use this name for the rest of the style sheet?

In example:
ThemeColor1 = #012345
ThemeColor2 = #678901
ThemeColor3 = #234567
ThemeColor4 = #890123
and then
BODY
{
BACKGROUND: %ThemeColor1%
color:%ThemeColor2%;
}
etc...

can this be done in stylesheets?
can this be done in ASP?

tia

bart plessers

--

==========================================
Hyper A.R.T.
bart plessers
Paul Van Ostaijenlaan 4
3001 Heverlee
BELGIUM
tel: +32 (16) 23.40.85
fax: +32 (16) 23.41.06
==========================================


Jul 20 '05 #1
4 19606
bart plessers wrote:
is it possible to use variables or something like that to give a name to
custom color and use this name for the rest of the style sheet? can this be done in stylesheets?
No
can this be done in ASP?


Yes (just output your CSS from ASP as you would with HTML. Make sure you set
the content type to text/css as ASP defaults to text/html)

--
David Dorward http://dorward.me.uk/
Jul 20 '05 #2
bart plessers wrote:
[snip]
So I am wondering,
is it possible to use variables or something like that to give a name
to custom color
and use this name for the rest of the style sheet?

In example:
ThemeColor1 = #012345
ThemeColor2 = #678901
ThemeColor3 = #234567
ThemeColor4 = #890123

and then
BODY
{
BACKGROUND: %ThemeColor1%
color:%ThemeColor2%;
}
etc...

can this be done in stylesheets?
can this be done in ASP?


I asked a similar question in another NG, and the answer was "no" in CSS:

Giving names to values in style sheets?
http://groups.google.com/gr********************************@newsfep1-gui.server.ntli.net

But I use 2 techniques that you may find useful:

- I try where possible in the CSS to use rules that declare colours to
multiple selectors:
selector1, selector2, selector3 { background-color: #012345; }

So I only need to change the colour value once in the CSS if I don't like
#012345 for that theme.

- I use a class in the body tag to identify the theme (which applies to
background colour, text colour, link colours, border colours, etc). (It has
been pointed out that I could, and perhaps should, have used id). Then this
results in blocks of rules in the CSS such as:

http://www.barry.pearson.name/assets...photograph.css

/* Styles for photo pages with eggshell background. */

body.eggshell { background-color: #DFD4BC; background-image:
url(eggshell.gif); color: #272727; }

body.eggshell a:link, body.eggshell a:visited { color: #0000FF;
text-decoration: none; }
body.eggshell a:hover { color: #FF0000; text-decoration: none;
background-color: #FFFFFF; }

body.eggshell div.middle, body.eggshell div.inner { padding: 7px; border:
solid #554433 1px; }
body.eggshell div.middle { border-left-color: #FFF7EE; border-top-color:
#FFF7EE; }
body.eggshell div.inner { border-right-color: #FFF7EE; border-bottom-color:
#FFF7EE; }

/* Styles for photo pages with dark green background. */

body.darkgreen { background-color: #0B360B; background-image:
url(dark_green.gif); color: #C1C1C1; }

body.darkgreen a:link, body.darkgreen a:visited { color: #4444FF;
text-decoration: none; }
body.darkgreen a:hover { color: #FF0000; text-decoration: none;
background-color: #FFFFFF; }

body.darkgreen div.middle, body.darkgreen div.inner { padding: 7px; border:
solid #000000 1px; }
body.darkgreen div.middle { border-left-color: #007700; border-top-color:
#007700; }
body.darkgreen div.inner { border-right-color: #007700; border-bottom-color:
#007700; }

(I'm not sure how well those actually address your problem).

--
Barry Pearson
http://www.Barry.Pearson.name/photography/
http://www.BirdsAndAnimals.info/
http://www.ChildSupportAnalysis.co.uk/
Jul 20 '05 #3
On Sat, 11 Oct 2003 10:57:09 +0000, "bart plessers"
<ba**********@hotmail.com> wrote:
So I am wondering, is it possible to use variables or something like
that to give a name to custom color and use this name for the rest of
the style sheet?


This is a job for DHTML of some kind. CSS isn't equipped for variable
substitution... I remember wishing I could do something of the sort
myself.

I know absolutely zero about ASP, but my guess is that's where you'd want
to start. I'd use server-side includes, I think (much like the way I'd
switch stylesheets for a whole site on the fly). Either way it needs to
be outside the html/css axis.

Hope that helps.

--Alison
Jul 20 '05 #4
I'm not sure if you are wanting to have several different stylesheets,
but the user could pick the color scheme, assigning your variable and
call it like this:

<link rel=stylesheet href=<%=strcolor%>.css type=text/css>
<link rel=stylesheet href=<%=strfont%>.css type=text/css>

I did that one time and it worked okay. Maybe this is oversimplistic
and I've misunderstood the question? In any case you can make links to
several stylesheets as needed.
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Joe Gazda | last post: by
97 posts views Thread by s | last post: by
2 posts views Thread by J R M | last post: by
12 posts views Thread by Just D | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.