Creating Dynamic Style Sheets Using ASP

Generating the CSS

Now that we have tools to detect the type of browser, it is very simple to customize the output of the style sheet. We start by changing the ASP content type to that of a CSS style sheet. Then we include the browser detection code in BrowserDetect.asp. With these two preliminary steps complete, we just use simple IF...THen code to specify where and when a given style command should be part of our definition.

<% Response.ContentType = "text/css" %>
<!--#include file="BrowserDetect.asp"-->
#SampleBox {
<% If Not NS4 Then %>
    font-family: Tahoma, Arial, sans-serif;
    font-size: 10pt;
<% Else %>
    fontfamily: Tahoma, Arial, sans-serif;
    fontsize: 10pt;
<% End If %>
<% If css2compatible Then %>
    /* in css2 standard the width of the box does not invlude its padding, borders, or margins */
    width: 230px;
    height: 80px;
    padding: 10px;
<% Else %>
    /* in older browsers, padding in considered part of a box's width and height */
    width: 250px;
    height: 100px;
    padding: 10px;
<% End If %>
}

The above code accounts for two circumstances in which you'd wnt to customize CSS output, but there could be many more. The first is that one corrects for improperly implemented style commands in Netscape 4, which doesn't use the hyphen in font commands as it should. The second accounts for a rather critical clarification of the way padding should be implemented that was not corrected until version 6 or IE and Netscape.

You might also like...

Comments

About the author

Thomas C. Carpe United States

I have been working in IT since 1993. I founded CarpeDiem Business Internet Systems in 1995. In 2000 we incroporated and took on two partners. Its really a grat lot of fun, and I enjoy working o...

Interested in writing for us? Find out more.

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” - Rick Osborne