Почему свет ($ color, 50%) сидит на белом?

Этот фрагмент sass:

$red: #f00

$lightred: lighten($red, 50%)

body
  background: $lightred

Разбирается на:

body {
  background: white; }

Если вы вместо этого выполняете 45% вместо 50%, это работает как ожидалось:

$lightred2: lighten($red, 45%)
...
background-color: #ffe5e5

Почему это превращается в белый вместо ожидаемых 50% красного?

Здесь вы можете увидеть его в действии http://tinkerbin.com/OefelPoi

(Примечание. Функция сохранения, похоже, имеет ошибку в области css, снова выберите Sass Old Syntax и повторите попытку)

Обновление -

Заканчивается то, что я хотел, это смешивать в белом с исходным цветом, чтобы получить тонированный оттенок:

mix($color,white, 10%)

Ответ 1

Поскольку функция lighten описывается в цветах HSL, а ваш красный цвет # f90 переводится как hsl (0, 100%, 50%)

поэтому свет ($ lightred, 50%) равен hsl (0, 0, 100%) или белый