Количество цвета в градиенте

Есть ли разница в том, чтобы задать цвет несколько раз или задать его в процентах в градиенте? Влияет ли это на плавность перехода и производительность? Например, по моей логике, запись (#fae259,#fae259,#fae259,#080085) должна быть равносильна записи (...#fae259 75%,#080085) (100%/4*3), но это не так, почему?


Ответы (2 шт):

Автор решения: Konstantin_SH

Что значит "задать цвет несколько раз или задать его в процентах"? Есть разные виды градиентов. Каждый цвет в градиенте характеризуется набором значений:

  1. Направление;
  2. Цвет (можно с прозрачностью);
  3. Точки остановки;

.gradient {
width: 100px;
height: 100px;
background: linear-gradient(to top, rgba(0, 0, 0, 100%) 50%, rgba(255, 255, 255));
}
<div class ="gradient">

Внутри функции градиента в процентах задаём точки остановки цвета, а не сам цвет. Точки останвки можно задать и в пикселях. Если вам нужны чередующиеся цвета - задайте несколько точек остановки:

.multiposition-stops {
width: 100px;
height: 100px;
background: linear-gradient(to left,
   lime 20%, red 30% 45%, cyan 55% 70%, yellow 80% );
}
<div class ="multiposition-stops">

→ Ссылка
Автор решения: Laukhin Andrey

Рассмотрим ваш пример (#fae259,#fae259,#fae259,#080085).

Мы имеем 4 точки, а следовательно, 3 диапазона равной длины. Какие будут значения точек останова в этом случае?
Очевидно, что запись эквивалентна этой:

(#fae259 0%, #fae259 33.33%, #fae259 66.66%, #080085 100%)

Или этой:

(#fae259 66.66%, #080085)

Отсюда и различия с (#fae259 75%, #080085).

→ Ссылка