Introducing Closure Stylesheets
    
    
    
    
    By Michael Bolin, Open Source
      EngineerCross-posted from the Open
      Source at Google blog(CSS is for programming, not
      for pasting.)
When the 
Closure
      Tools were first released a little over two years ago, they gave web developers the
      ability to organize and optimize their JavaScript and HTML in a new way. But there was
      something missing, namely, a tool to help manage 
CSS.
You see, the nature of CSS runs contrary to the 
DRY principle that is
      exhibited in good software engineering. For example, if there is a color that should be used
      for multiple classes in a stylesheet, a developer has no choice but to copy-and-paste it
      everywhere because CSS has no concept of 
variables.
      Similarly, if there is a value in a stylesheet that is derived from other values, there is no
      way to express that because CSS also lacks 
functions. Common
      patterns of style blocks are duplicated over and over because CSS has no macros. All of these
      properties of CSS conspire to make stylesheets extremely difficult to maintain.
To this end, we are excited to introduce the missing piece in the Closure
      Tools suite: 
Closure
      Stylesheets. Closure Stylesheets is an an extension to CSS that adds variables,
      functions, 
conditionals,
      and 
mixins to
      standard CSS. The tool also supports 
minification,
      
linting, 
RTL flipping,
      and CSS class 
renaming. As the
      existing Closure Tools have done for JavaScript and HTML, Closure Stylesheets will help you
      write CSS in a maintainable way, while also empowering you to deliver optimized code to your
      users. We hope you enjoy it! Please let us know what you think in the 
discussion
      forum.
Michael Bolin is an Open Source
      Engineer at Google.Posted by Scott Knaster,
      Editor