CSS is a structured language by its nature.
If you sequentially include three stylesheets into your page, e. g.:
<link type="text/css" rel="stylesheet" href="global.css">
<link type="text/css" rel="stylesheet" href="local.css">
<link type="text/css" rel="stylesheet" href="application.css">
styles from latter files will override styles from former files.
For example, you may have .logo { font-size: 1.5em; }
in your global.css
. If you do .logo { font-size: 2em; }
in application.css
, it will prevail.
No special structure is required, you just have to ensure two things:
- to override styles, latter styles should either be more specific or have identical selectors;
- for overriding with identical selectors, correct order of files is important (a latter file prevails).
Of course, SASS can (and should) be used to prepare those CSS files (and merge them together, if required), but it doesn't mean that it things should get complicated. Keep it simple, soldier!
If you do want to go the complicated way, you should consider using some of SASS goodies. You could generate application's CSS with mixins. Mixins have default values for everything which can be overridden with arguments. Also, consider creating a Compass extension out of your Global project. It would allow you generate application projects out of a template, and also provide mixins and stuff.