Class

CSS

Extends:

Create a Cascading Style Sheet (CSS) using Ruby.

Example usage:

css = Builder::CSS.new

text_color      = '#7F7F7F'
preferred_fonts = 'Helvetica, Arial, sans_serif'

css.comment! 'This is our stylesheet'
css.body {
  background_color '#FAFAFA'
  font_size        'small'
  font_family      preferred_fonts
  color            text_color
}

css.id!('navbar') {
  width            '500px'
}

css.class!('navitem') {
  color            'red'
}

css.a :hover {
  text_decoration  'underline'
}

css.div(:id => 'menu') {
  background       'green'
}

css.div(:class => 'foo') {
  background       'red'
}

This will yield the following stylesheet:

/* This is our stylesheet */
body {
  background_color: #FAFAFA;
  font_size:        small;
  font_family:      Helvetica, Arial, sans_serif;
  color:            #7F7F7F;
}

#navbar {
  width:            500px;
}

.navitem {
  color:            red;
}

a:hover {
  text_decoration:  underline;
}

div#menu {
  background:       green;
}

div.foo {
  background:       red;
}
Public Methods
|
+
>
>>
class!
comment! Create a comment string in the output.
group!
id!
method_missing
new Create a CSS builder.
nil? "Cargo culted" from Jim who also "cargo culted" it. See xmlbase.rb.
store!
target! Return the target of the builder
Private Methods
_css_block
_css_line
_end_block
_indent
_join_with_op!
_nested_structures
_newline
_start_container
_text
_unify_block
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.