String Operators

Sass supports a few operators that generate strings:

  • <expression> + <expression> returns a string that contains both expressions’ values. If the either value is a quoted string, the result will be quoted; otherwise, it will be unquoted.

  • <expression> - <expression> returns an unquoted string that contains both expressions’ values, separated by -. This is a legacy operator, and interpolation should generally be used instead.

Playground

SCSS Syntax

@debug "Helvetica" + " Neue"; // "Helvetica Neue"
@debug sans- + serif; // sans-serif
@debug sans - serif; // sans-serif
Playground

Sass Syntax

@debug "Helvetica" + " Neue"  // "Helvetica Neue"
@debug sans- + serif  // sans-serif
@debug sans - serif  // sans-serif

These operators don’t just work for strings! They can be used with any values that can be written to CSS, with a few exceptions:

Playground

SCSS Syntax

@debug "Elapsed time: " + 10s; // "Elapsed time: 10s";
@debug true + " is a boolean value"; // "true is a boolean value";
Playground

Sass Syntax

@debug "Elapsed time: " + 10s  // "Elapsed time: 10s";
@debug true + " is a boolean value"  // "true is a boolean value";

⚠️ Heads up!

It’s often cleaner and clearer to use interpolation to create strings, rather than relying on these operators.

Unary OperatorsUnary Operators permalink

For historical reasons, Sass also supports / and - as a unary operators which take only one value:

  • /<expression> returns an unquoted string starting with / and followed by the expression’s value.
  • -<expression> returns an unquoted string starting with - and followed by the expression’s value.
Playground

SCSS Syntax

@debug / 15px; // /15px
@debug - moz; // -moz
Playground

Sass Syntax

@debug / 15px  // /15px
@debug - moz  // -moz