Browse the Ruby on Rails Community.

You are here: Browse Railsplugins Cascading Stylesheets

Cascading Stylesheets

= Cascading Stylesheets

Cascading Stylesheets is a plugin that enhances the behaviour of the built-in stylesheet_link_tag macro to support a :defaults parameter. If :defaults is passed as a parameter, the stylesheet_link_tag macro will load the following stylesheets (if present) in order:

1. application.css; 2. #{RAILS_ENV}.css (ie. development.css, production.css, uat.css, etc.); 3. layouts/#{layout_name}.css (eg. layouts/print.css); and 4. #{controller_name/action_name}.css (eg. home/index.css, customers/new.css, etc.).

This allows you to define application-wide, environment-specific (such as different backgrounds for UAT and production) and page-specific styles without needing to manually link each one.

To use, simply call stylesheet_link_tag from application.rhtml (in much the same way as you would use javascript_include_tag) passing :defaults as a (or the only) parameter:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    ...
    <%= stylesheet_link_tag :defaults %>
    <%= javascript_include_tag :defaults %>
  </head>
  <body>
    ...
  </body>
</html>

=== See Also

  • Cascading Javascripts (cascading_javascripts).

=== License

This plugin is copyright 2006 by RedHill Consulting, Pty. Ltd. and is released under the MIT license.

NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly