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