&
in SassScript
Just like when it’s used in selectors, &
in SassScript refers to the current parent selector. It’s a comma-separated list of space-separated lists. For example:
.foo.bar .baz.bang, .bip.qux {
$selector: &;
}
The value of $selector
is now ((".foo.bar" ".baz.bang"), ".bip.qux")
. The compound selectors are quoted here to indicate that they’re strings, but in reality they would be unquoted. Even if the parent selector doesn’t contain a comma or a space, &
will always have two levels of nesting, so it can be accessed consistently.
If there is no parent selector, the value of &
will be null. This means you can use it in a mixin to detect whether a parent selector exists:
@mixin does-parent-exist {
@if & {
&:hover {
color: red;
}
} @else {
a {
color: red;
}
}
}
Please login to continue.