CSS Help

  • Thread starter Thread starter wackyphill
  • Start date Start date
W

wackyphill

I've been styling all my pages w/ CSS, no attricutes in the aspx page
itself.
My CSS files are in my theme folder. But as I add more pages its
getting to be a crazy amount of css files that must be externally
linked to each of my pages.

Is there any way to say all the pages in "folder A" only use the
stylesheet files from "folder B" or if using themes must every page in
the webapp get every stylesheet page linked to it?

Thanks for any tips.
 
My CSS files are in my theme folder. But as I add more pages its
getting to be a crazy amount of css files that must be externally
linked to each of my pages.

This indicates a fundamental misunderstanding of how you should develop CSS
for your pages. You don't have a different CSS file for each page, but
rather create a common set of styles to use on every page. If you need
specific styles for a specific page, they should go either in <style> block
of that page, or in a "custom.css" or something where you combine all the
styles.

The huge advantage of CSS is that it gets cached by the browser, so it
doesn't need to redownload it every time you access a page. By defining
your CSS to apply the the majority of your site, you gain a lot in reduced
bandwidth (which means faster loads times for end users).

If you create different CSS pages for each page, you are nullifying that
Is there any way to say all the pages in "folder A" only use the
stylesheet files from "folder B" or if using themes must every page in
the webapp get every stylesheet page linked to it?

You could certainly create multiple themes, and then set individual pages
to use different themes. I'd really suggest optimizing your CSS use
instead, though.
 
Thanks for your input. I believe I understand what you are saying and I
agree.

I am using styled div tags to place and format all of my page content
though. No tables.
Like CSSZenGarden does. This gives me tons of flexibility in how the
page will look because it only contains content, no placement or
formatting.

The downside is I end up w/ many many IDs that I need to keep unique. I
also end up w/ many styled Div IDs that are truly unqique to a given
page. This is what I'm trying to organize better.
 
The downside is I end up w/ many many IDs that I need to keep unique. I
also end up w/ many styled Div IDs that are truly unqique to a given
page. This is what I'm trying to organize better.

I don't see why. You don't need to use many ID's for most tableless
designs, unless each and every page is totally different from any other
one. In most cases, your headers and footers are all the same, and
typically your navigation (if any) sidebars are usually the same, or
largely the same. Then, through use of CSS classes, you can style the
content areas, again mostly without ID's.

You should really strive for ID-less design wherever possible. It's not
always possible, but 9 times out of 10, ID usage is not needed. And, in
those rare circumstances when you do need it, it's just as easy to add a
style attribute to the element or inline style rather than external.
 
How is a class w/ dot notation different than an ID w/ # notation?

You're deffinately right that much of a page can be reused, but I have
many forms that need to be filled out and each has different textboxes
and buttons. How would you set their X/Y position any other way?

Anyway, I am very new to this so I'm sure my thinking is probably off.
 
How is a class w/ dot notation different than an ID w/ # notation?

Classes can be reused on the same page. ID's cannot. Therefore, using
ID's generates a lot more CSS than classes do (unless you create a
different class for each element, which is rather silly).

Also, you can apply multiple classes to an element, but can only apply one
style to an ID. For instance, you might have the classes ".red", ".wide"
and ".underlined". Then, if you want a wide red underlined bit of text you
can <span class="wide red underlined">This is wide, red and
underlined said:
You're deffinately right that much of a page can be reused, but I have
many forms that need to be filled out and each has different textboxes
and buttons. How would you set their X/Y position any other way?

Why do you need to set their X/Y positions? absolute positioning is evil
and should be avoided if at all possible. You might want to read these,
none of which use a single ID:

http://www.quirksmode.org/css/forms.html
http://jeffhowden.com/code/css/forms/
http://www.webcredible.co.uk/user-friendly-resources/css/css-forms.shtml
Anyway, I am very new to this so I'm sure my thinking is probably off.

That's ok. Visual Studio doesn't really help a lot here, though 2005 is
better than 2003 in this regard (grid mode, which uses absolute positioning
is off by default and hidden).

CSS is all about simplicity. Most new CSS developers make things far more
complicated than it needs to be.
 
Ok, thanks very much for your advice Erik.

Oh, and there's also nothing stopping you from including a css file that's
not in the "App_Theme" folder. You might do this for "one off" pages when
you don't want to include that style sheet in every page.
 
Back
Top