Drupal core's CSS is not properly architected to be Predictable, Reusable, Maintainable, and Scalable. It leads to problems like the pitfalls described at http://drupal.org/node/1887918#pitfalls. It makes our aggregation strategy awkward because we have to artificially force all theme-level CSS after module-level CSS. And it is difficult for Drupal themes to provide lean CSS that doesn't break core functionality.
Some dream mark up has been prototyped as static html in the Seventy Eight Style guide prototype.
These tasks are dependent on each other and should be tackled in this order
- Mobile Initiative sandbox:
- Update/apply patches left over from the HTML5 initiative's CSS clean-up effort. There may be some useful patches there, but there may not be.
We should also:
- Issue #: Remove system.admin.css from maintenance_page
- The 3 CSS constants for the CSS "group" (CSS_SYSTEM, CSS_DEFAULT, CSS_THEME) will be simplified to just a single group constant, CSS_AGGREGATE_DEFAULT. This will reduce our aggregated CSS files from 4 files to just 2.
- drupal_add_css() will use CSS_COMPONENT as the default 'weight' and CSS_AGGREGATE_DEFAULT as the default 'group'.
- We'll add a drupal.base.css library to contain "base" HTML element styling for core which will be loaded using a weight of CSS_BASE. (Those rules that aren't already part of Normalize.css.)
- We'll load the Normalize.css library by default.
- The filenames for modules' CSS will match the pattern: module_name.module.css, module_name.theme.css, module_name.admin.css, module_name.admin.theme.css
- All core CSS will follow the CSS formatting standards.
- All core CSS will follow the CSS architecture standards.