You can do this easily if you pass your CSS definitions up to your Site Master page. This is the technique I'm using for my current site, and it works really well.
So for example, suppose you want to be able to choose between 2 different header colours for the title banners on your site, you would specify the CSS classes for those colours as below:
.header-purple
{
background-color: #aab4cf;
}
.header-green
{
background-color: #8fa9a0;
}
Then on your local page you would specify which header colour to use on that page with the following in the C# of your
.aspx.cs file:
this.Master.layoutColour = "green";
Then in the C# of your
Site.master.cs page, you would define the variable that holds the colour you've just set in the code above:
public String layoutColour = "purple";
This then gets passed through to the actual HTML/CSS layout on your
Site.master page, as follows:
<div class="header-<%=layoutColour %>">Some header text</div>