Concept Flow - CSS bundling options
Write CSS files
Choose bundling method
Import
Bundle CSS into one file
Serve bundled CSS to browser
This flow shows how CSS files are combined using different bundling steps before being sent to the browser.
/* app/assets/stylesheets/application.css */ @import "reset.css"; @import "layout.css"; @import "colors.css";
| Step | Action | Input CSS files | Output CSS content | Notes |
|---|---|---|---|---|
| 1 | Read application.css | [application.css] | Contains @import statements | Start with main CSS file |
| 2 | Resolve @import "reset.css" | [reset.css] | Reset CSS rules | Imports reset styles |
| 3 | Resolve @import "layout.css" | [layout.css] | Layout CSS rules | Imports layout styles |
| 4 | Resolve @import "colors.css" | [colors.css] | Color CSS rules | Imports color styles |
| 5 | Combine all CSS rules | [reset.css, layout.css, colors.css] | Single CSS bundle with all rules | Bundled CSS ready for minification |
| 6 | Minify CSS bundle | Combined CSS | Minified CSS content | Removes whitespace and comments |
| 7 | Serve bundled CSS | Minified CSS | Browser loads single CSS file | Improves load speed |
| Variable | Start | After Step 2 | After Step 3 | After Step 4 | After Step 5 | After Step 6 | Final |
|---|---|---|---|---|---|---|---|
| CSS Bundle Content | "@import ..." | Reset CSS rules | Reset + Layout CSS rules | Reset + Layout + Color CSS rules | Combined CSS rules | Minified CSS rules | Minified CSS rules served |
CSS bundling in Rails: - Use @import in main CSS to include files - Bundler reads and combines all CSS files - Minify combined CSS to reduce size - Serve one bundled CSS file to browser - Improves page load speed and organization