# Opulent Attributes Tag attributes are similar to CSS or HTML, but their values are regular embedded Ruby. ### Shorthand Attributes You can use the shorthand attributes exactly as you would in your CSS markup, the syntax is very similar. The default node for the shorthand attributes is the __div__ node, since it's the most widely used HTML Element. __Example__ ```scss .container.text-center #content #main.center div#block.new input&email ``` ```html
``` ### Wrapped Attributes You can either use equals symbol '__=__' or colon symbol '__:__' to set a value for an attribute. The difference between wrapped and unwrapped (inline) attributes is that you can use complex Ruby expressions such as boolean operations, comparisons or ternary operators. The attributes in wrapped mode are separated by a comma '__,__' or semicolon '__;__'. The node's __class__ attribute values are gathered into an array, while the other attributes will be replaced. Attributes can be wrapped in round __(exp)__, square __[exp]__ and curly __{exp}__ brackets. __Example 1__ ```html a(href="http://google.com") Google a(href: "http://google.com") Google a[href="http://google.com"] Google a[href: "http://google.com"] Google a{href="http://google.com"} Google a{href: "http://google.com"} Google ``` ```html Google ``` __Example 2__ ```html div(class: "HELLO".downcase, class: "world") ``` ```html ``` __Example 3__ ```html a(class=["btn", "btn-primary"]) ``` ```html ``` __Example 4__ ```html example(attr1=1 + 2 + 3, attr2="hello " + "world") ``` ```html