# `put()` `put()` is the only addon that comes pre-installed with `nano-css`. It simply injects CSS given a selector and a CSS-like object. ```js nano.put('.foo', { color: 'red', ':hover': { color: 'blue' } }); ``` Now you can use the `foo` class name. ```html
Hover me!
``` ## CSS-like object The second argument of the `put()` function is a *CSS-like object*. ```js { color: 'red', ':hover': { color: 'blue' } } ``` It maps 1-to-1 to analogous CSS. ```css .selector { color: red; } .selector:hover { color: blue; } ``` ## Nesting `put()` supports basic arbitrarily deep nesting out-of-the-box. ```js { div: { span: { ':hover': { color: 'blue' } } } } ``` The above will result in: ```css .selector div span:hover { color: blue; } ``` For more advanced nesting feature install [`nesting` addon](./nesting.md). ## Kebab-case and Camel-case Properties Out-of-the-box `nano-css` supports kebab-case ```js { 'text-decoration': 'none' } ``` and camel-case property syntax. ```js { textDecoration: 'none' } ``` It also supports *Atoms* via the [`atoms`](./atoms.md) addon and "chaining" using the [`snake`](./snake.md) addon. You might also want to take a look at [`stylis`](./stylis.md) addon that supports writing CSS as a string and [`tachyons`](./tachyons.md) addon that allows to chain *tachyons*.