Как увеличить сочность цвета (scss)?

280
15 мая 2018, 19:10

Допустим имеется цвет #ff7fa1, как средствами scss:

  1. Увеличить его сочность до максимального уровня #ff0044?
  2. Уменьшить его сочность до минимального уровня #ffffff?

Answer 1

Можно обратиться к цветовой схемеhsl

При этом максимальная сочность цвета будет при значении 50% для l компоненты и минимальная (белый цвет) - при значении 100%.

В SASS есть функция получения l компоненты: lightness($color)

А также функции для изменения этой компоненты:

  • lighten($color, $amount)
  • darken($color, $amount)

Таким образом для решения пункта два, нужно дополнить значение компоненты до 100, а для решения первого пункта в случае если текущее значение больше 50 - уменьшить, в противном случае - увеличить до 50.

Пример использования:

.c1{
  color: lighten($color, 100-(lightness($color)));
}
.c2{
  $l : lightness($color);
  color: if($l > 50, darken($color, ($l)-50), lighten($color, 50-($l)));
}

При $color: #ff7fa1 преобразуется в следующее:

.c1 {
  color: white;
}
.c2 {
  color: #ff0044;
}

используется функция if

READ ALSO
Как сделать фильтр с помощью javascript / jquery

Как сделать фильтр с помощью javascript / jquery

Есть 8 блоков, нужно по нажатию на ссылку фильтровать эти самые блокиПри нажатии на "однокомнатные" , ставить однокомнатные первыми в списке

272
Как сделать адаптивную высоту блоков?

Как сделать адаптивную высоту блоков?

Поделитесь, пожалуйста, как адаптировать высоту под ширину? Если менять разрешение, то между элементами в блоке появляются огромные паддинги...

273
Как создать шаблон HTML в Sublime Text?

Как создать шаблон HTML в Sublime Text?

Как создать шаблон HTML в Sublime Text? Какая горячая клавиша за это отвечает?

397
Сверстать border почтовый конверт

Сверстать border почтовый конверт

Есть какая-то возможность сверстать такой border или тут только перекрывать фон формой?

273