Ampersand o «&» es una característica poderosa de SASS. Mejora la legibilidad del código mediante el uso de declaraciones de anidamiento, lo que tiene una ventaja sobre el CSS convencional. Podemos anidar la clase css cualquier cantidad de veces, pero la mayoría de las veces no es necesario.
Sintaxis:
parent { some_styling; & .child_element { some_stylings; } /* :hover, :active, :visited etc.. */ &:pseudo_selector { some_stylings; } }
Podemos usar cualquier propiedad de CSS anidando un elemento secundario usando el símbolo ampersand (&).
Ejemplo 1: SASS/SCSS:
.head { font-family: 'Courier New', Courier, monospace; text-align: center; & .tagline { text-decoration: underline; background-color: rgb(29, 202, 29); } & .paragraph { font-size: 20px; color: rgb(45, 204, 204); & .read-more{ color: rgb(113, 129, 129); font-size: smaller; border: 2px solid black; } } }
CSS compilado:
CSS
.head { font-family: 'Courier New', Courier, monospace; text-align: center; } .head .tagline { text-decoration: underline; background-color: #1dca1d; } .head .paragraph { font-size: 20px; color: #2dcccc; } .head .paragraph .read-more { color: #718181; font-size: smaller; border: 2px solid black; }
Ejemplo 2 (usando pseudo-selectores) SASS / SCSS:
SASS
a { text-decoration: none; &:hover { background-color: rgb(63, 168, 194); text-decoration: underline; font-weight: bold; } &:visited { color: rgb(157, 175, 53); } &:active { color: rgb(77, 77, 77); } }
CSS compilado:
CSS
a { text-decoration: none; } a:hover { background-color: #3fa8c2; text-decoration: underline; font-weight: bold; } a:visited { color: #9daf35; } a:active { color: #4d4d4d; }