]
Note that negative "s are not allowed, however browsers had implemented negative lengths which are now being removed. See the Firefox site compat note .
Examples
Simple gradient
Radial-gradient {
background-image: radial-gradient(cyan 0%, transparent 20%, salmon 40%);
}
Non-centered gradient
.radial-gradient {
width: 240px;
height: 120px;
}Radial-gradient {
background-image: radial-gradient(farthest-corner at 40px 40px,
#f35 0%, #43e 100%);
}
Specifications
Specification
|
Status
|
Comment
|
---|
CSS Images Module Level 3 The definition of "radial-gradients()" in that specification.
|
Candidate Recommendation
|
Initial definition.
|
Browser compatibility
The compatibility table in this page is generated from structured data. If you"d like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop
| Mobile
|
---|
| Chrome
| Edge
| Firefox
| Internet Explorer
| Opera
| Safari
| Android webview
| Chrome for Android
| Firefox for Android
| Opera for Android
| Safari on iOS
| Samsung Internet
|
---|
radial-gradient()
| Chrome
Full support
26 Full support
26
Full support
13 Prefixed
Prefixed
| Edge
Full support
12
| Firefox
Full support
16 Notes
Full support
16Notes
Notes
Before Firefox 36, gradients weren"t applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.
Full support
3.6Prefixed
Notes
Prefixed
Prefixed
Prefixed
Prefixed
Disabled
Prefixed
| IE
Full support
10 Notes
Full support
10Notes
Notes
Internet Explorer 5.5 through 9.0 supported gradients via a proprietary filter: .
| Opera
Full support
12.1 Full support
12.1
No support
11.6 - 15 Prefixed
Prefixed
Full support
15Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
| Safari
Full support
6.1 Full support
6.1
Full support
5.1 Prefixed
Notes
Prefixed
-webkit-gradient(radial,…) | WebView Android
Full support
≤37 Full support
≤37
Full support
≤37 Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
| Chrome Android
Full support
26 Full support
26
Full support
18 Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
| Firefox Android
Full support
16 Notes
Full support
16Notes
Notes
Before Firefox 36, gradients weren"t applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.
Full support
4Prefixed
Notes
Prefixed
Implemented with the vendor prefix: -moz- Notes
Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false .
Full support
49Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
Full support
44Prefixed
Disabled
Prefixed
Implemented with the vendor prefix: -webkit- Disabled
From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.
| Opera Android
Full support
12.1 Full support
12.1
No support
12 - 14 Prefixed
Prefixed
Implemented with the vendor prefix: -o-
Full support
14Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
| Safari iOS
Full support
6.1 Full support
6.1
Full support
6 Prefixed
Notes
Prefixed
Implemented with the vendor prefix: -webkit- Notes
Safari 4 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.
| Samsung Internet Android
Full support
1.5 Full support
1.5
Full support
1.0 Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
|
---|
at syntax
| Chrome
Full support
26
| Edge
Full support
12
| Firefox
Full support
16 Notes
Full support
16Notes
Notes
Before Firefox 36, gradients weren"t applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.
Full support
10Prefixed
Notes
Prefixed
Implemented with the vendor prefix: -moz- Notes
Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false .
Full support
49Prefixed
Prefixed
Implemented with the vendor prefix: -webkit-
Full support
44Prefixed
Disabled
Prefixed
Implemented with the vendor prefix: -webkit- Disabled
From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.
| IE
Full support
10
| Opera
Full support
15 Full support
15
No support
11.6 - 15 Prefixed
Prefixed
Implemented with the vendor prefix: -o-
| Safari
No support
No
| WebView Android
Full support
≤37
| Chrome Android
Full support
26
| Firefox Android
Full support
16 Full support
16
Full support
10 Prefixed
Prefixed
Implemented with the vendor prefix: -moz-
| Opera Android
Full support
14 Full support
14
No support
12 - 14 Prefixed
Prefixed
Implemented with the vendor prefix: -o-
| Safari iOS
No support
No
| Samsung Internet Android
Full support
1.5
|
---|
Double-position color stops
| Chrome
Full support
71
| Edge
Full support
79
| Firefox
Full support
64
| IE
No support
No
| Opera
Full support
58
| Safari
Full support
12.1
| WebView Android
Full support
71
| Chrome Android
Full support
71
| Firefox Android
Full support
64
| Opera Android
Full support
50
| Safari iOS
Full support
12.2
| Samsung Internet Android
Full support
10.0
|
---|
Interpolation Hints / Gradient Midpoints
| Chrome
Full support
40
| Edge
Full support
79
| Firefox
Full support
36
| IE
No support
No
| Opera
Full support
27
| Safari
Full support
6.1
| WebView Android
Full support
40
| Chrome Android
Full support
40
| Firefox Android
Full support
36
| Opera Android
Full support
27
| Safari iOS
Full support
6.1
| Samsung Internet Android
Full support
4.0
|
---|
Legend
Full support
Full support
No support
No support See implementation notes.
See implementation notes. User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Quantum CSS notes
Gecko used to have a long-standing bug whereby radial gradients like radial-gradient(circle gold,red) would work, even though they shouldn"t because of the missing comma between circle and gold . Also,
Градиентный фон
Градиенты CSS позволяют отображать плавные переходы между двумя или более указанными цветами.
CSS определяет два типа градиентов:
- Линейные градиенты (идет вниз/вверх/влево/вправо/по диагонали)
- Радиальные градиенты (определяемые их центром)
CSS линейные градиенты
Для создания линейного градиента необходимо определить не менее двух цветовых ограничителей. Цветовые ограничители - это цвета, которые вы хотите сделать плавными переходами между ними. Можно также задать начальную точку и направление (или угол) вместе с эффектом градиента.
Синтаксис
background: linear-gradient(direction
, color-stop1
,
color-stop2, ...
);
Линейный градиент-сверху вниз (по умолчанию)
В следующем примере показан линейный градиент, начинающийся сверху. Оно начинает красно, переходя к желтому цвету:
Пример
#grad {
background: linear-gradient(red, yellow);
}
Линейный градиент-слева направо
В следующем примере показан линейный градиент, начинающийся слева. Оно начинает красно, переходя к желтому цвету:
Пример
#grad {
background: linear-gradient(to right, red , yellow);
}
Линейный градиент-Диагональ
Можно сделать градиент по диагонали, указав как горизонтальные, так и вертикальные начальные позиции.
В следующем примере показан линейный градиент, начинающийся в левом верхнем углу (и направляется в нижний правый угол). Оно начинает красно, переходя к желтому цвету:
Пример
#grad {
background: linear-gradient(to bottom right, red, yellow);
}
Использование углов
Если требуется больший контроль над направлением градиента, можно определить угол, а не предопределенные направления (снизу, сверху, вправо, влево, вниз вправо и т.д.).
Синтаксис
background: linear-gradient(angle
, color-stop1
,
color-stop2
);
Угол указывается в виде угла между горизонтальной линией и линией градиента.
В следующем примере показано, как использовать углы на линейных градиентах:
Пример
#grad {
background: linear-gradient(-90deg, red, yellow);
}
Использование нескольких цветовых остановок
В следующем примере показан линейный градиент (сверху вниз) с несколькими остановками цвета:
Пример
#grad {
background: linear-gradient(red, yellow, green);
}
В следующем примере показано, как создать линейный градиент (слева направо) с цветом радуги и некоторым текстом:
Градиентный фон
Пример
#grad {
background: linear-gradient(to right,
red,orange,yellow,green,blue,indigo,violet);
}
Note:
Internet Explorer 9 and earlier versions do not support gradients.
"/>
Просмотр демо в редакторе
Использование прозрачности
CSS градиенты также поддерживают прозрачность, которая может быть использована для создания эффектов затухания.
Чтобы добавить прозрачность, мы используем функцию RGBA () для определения ограничителей цвета.
Последний параметр в функции RGBA () может быть значением от 0 до 1, и он определяет прозрачность цвета: 0 указывает на полную прозрачность, 1 указывает на полный цвет (без прозрачности).
В следующем примере показан линейный градиент, начинающийся слева. Он начинает полностью прозрачным, переходя к полному красному цвету:
Пример
#grad {
background: linear-gradient(to right, rgba(255,0,0,0),
rgba(255,0,0,1));
}
Повторение линейного градиента
Функция повторения-линейного градиента () используется для повторения линейных градиентов:
Пример
Повторяющийся линейный градиент:
#grad {
background:
repeating-linear-gradient(red, yellow 10%, green 20%);
}
CSS радиальные градиенты
Радиальный градиент определяется его центром.
Для создания радиального градиента необходимо также определить по крайней мере два цветовых ограничителя.
Синтаксис
background: radial-gradient(shape size
at position, start-color, ..., last-color
);
По умолчанию форма имеет эллипс, размер - самый дальний угол, а положение - центр.
Радиальный градиент-равномерное расстояние между цветами останавливается (по умолчанию)
В следующем примере показан радиальный градиент с равномерно раскрытием цветовых остановок.
CSS функции
Определение и применение
CSS функция radial-gradient()
(радиальный градиент) располагается вдоль своего радиуса, выходя наружу из центра элемента по круговой или эллиптической форме, при этом цвета градиента равномерно распределяются по всему пространству элемента.
Принцип создания радиальных градиентов похож на создание линейных градиентов (linear-gradient()), для этого достаточно указать начальный цвет – он будет располагаться в середине градиента и конечный цвет, который будет расположен в конце градиента.
Более подробно о работе с градиентами вы можете ознакомиться в статьях « » и « ». Обращаю Ваше внимание, что в статьях освещены нюансы работы со старыми браузерами и приведены многочисленные примеры.
Поддержка браузерами
Функция
| | | Opera
| | IExplorer
| Edge
|
---|
radial-gradient()
| 26.0 10.0 -webkit-
| 16.0 3.6 -moz-
| 12.1 11.1 -o-
| 6.1 5.1 -webkit-
| 10.0
| 12.0
|
CSS синтаксис:
background-image / background : radial-gradient
([форма keyword
(или размер
)] ат
позиция x-axis y-axis
, цвет 1 – остановка 1
, . . . , цвет n – остановка n
);
Форма
Эллиптическая форма
определяется значением ellipse
, которое является значением по умолчанию (отсутствует необходимость его указывать), а круглая форма определяется значением circle
.
Keyword
Градиент рассчитывается исходя из расстояния до ближайшей / дальней стороны
, либо ближайшего / дальнего угла
элемента.
Значение
| Описание
|
---|
closest-side
| Градиент рассчитывается исходя из расстояния до ближайшей стороны элемента от её центра для круглых градиентов (ось x
или ось y
) и до ближайших сторон (ось x
и ось y
) если градиент в форме эллипса.
background-image
: radial-gradient(circle closest-side at 60% 60%, plum, black, orange)
;
background-image
: radial-gradient(ellipse closest-side at 60% 60%, plum, black, orange)
;
|
closest-corner
| Градиент растягивается таким образом, чтобы он проходил через ближайший к центру угол элемента (размер рассчитывается в зависимости от расстояния до ближайшего угла элемента).
background-image: radial-gradient(circle closest-corner at 60% 50%, plum, black, orange)
;
background-image: radial-gradient(ellipse closest-corner at 60% 50%, plum, black, orange)
;
|
farthest-side
| Градиент рассчитывается исходя из расстояния до дальней стороны элемента от её центра для круглых градиентов (ось x
или ось y
) и до ближайших сторон (ось x
и ось y
) если градиент в форме эллипса.
background-image: radial-gradient(circle farthest-side at 100% 50%, plum, black, orange)
;
background-image: radial-gradient(ellipse farthest-side at 100% 50%, plum, black, orange)
;
|
farthest-corner
| Градиент растягивается таким образом, чтобы он проходил через дальние от центра углы элемента (размер рассчитывается в зависимости от расстояния до дальнего угла элемента). Это значение по умолчанию.
background-image: radial-gradient(circle farthest-corner at 60% 60%, plum, black, orange)
;
background-image: radial-gradient(ellipse farthest-corner at 60% 60%, plum, black, orange)
;
|
Размер
Задает размер формы градиента. Значения circle
или ellipse
при этом указывать не надо, запрещено использовать ключевые слова если указан размер
. Если указать одно значение
, то оно будет расценено браузером как
. Если указать два значения
, то первое значение
будет расценено браузером как горизонтальный радиус
, а второе значение
как вертикальный радиус для эллиптического элемента
.
Обращаю Ваше внимание, что запрещается использование процентных значений, если вы указываете только одно значение
(радиус для круглого элемента), при использовании двух значений
(для эллиптического градиента) допускается указывать эти значения в процентах.
Позиция
Начальная позиция радиального градиента определяется ключевым словом – center
, но может быть изменена с использованием единиц измерения длины
(например: px
или em
), процентными значениями
и ключевыми словами
, которые используются в CSS свойстве background-position , оно отвечает за положение (позицию) фонового изображения.
Значение
| Описание
|
---|
left top left center left bottom right top right center right bottom center top center center center bottom
| Задает положение изображения. Первое значение-горизонтальное положение, а второе значение вертикальное. Если вы указываете только одно ключевое слово, другое значение будет "center"
|
x% y%
| 0% 0%
(это значение по умолчанию
). В правом нижнем углу 100% 100%.
Если указано только одно значение, то другое значение будет 50%.
|
x y
| Задает положение изображения. Первое значение-горизонтальное положение, а второе значение вертикальное. Левый верхний угол имеет 0 0.
Значения могут быть в пикселях, или других единицах измерения CSS. Если указано только одно значение, то другое значение будет 50%.
Вы можете совместно использовать проценты
и единицы измерения.
|
Цвет
Допускается использовать не только «Предопределенные цвета », но и любые « » - шестнадцатеричные
(HEX), значения цвета RGB / -A и HSL /-A
.
Остановка
Значения точек остановки
(color stops
) задаются в единицах измерения длины
(например – px
или em
) и в процентных значениях
. Точка остановки сообщает браузеру, что градиент по радиусу должен достичь заданного цвета к заданному значению и плавно перейти к следующему цвету, если он есть.
Пример использования
Давайте с Вами рассмотрим радиальные градиенты круговой и эллиптической формы, увидим, в чем заключается их отличие на следующем практическом примере:
Пример использования радиальных градиентов
В данном примере мы создали четыре блока и задали для них радиальные градиенты. Верхние блоки имеют эллиптическую форму
, а нижние блоки круглую форму
.
Рассмотрим пример позиционирования радиального градиента.
Пример позиционирования радиальных градиентов
at 5px 45px
class =
"test2"
>
at 50% top
class =
"test3"
>
at top left
at 0% bottom
class =
"test5"
>
at center bottom
class =
"test6"
>
at 100% 100%
В данном примере мы создали шесть блоков
с различными формами градиентов (круговые и в форме эллипса) и позиционировали градиент для каждого блока по своему, указывая значения в пикселях
, процентах
и с использованием ключевых слов
.
Обращаю Ваше внимание, что если радиальный градиент по умолчанию позиционирован по центру, а элемент имеет квадратную форму, то вы не увидите разницы между круговым градиентом и градиентов в форме эллипса.
Рассмотрим пример использования точек остановки радиального градиента:
В данном примере мы создали шесть блоков
: три верхние блока
отличаются от трех нижних
только по форме градиента
, ключевые точки указаны те же
:
- Первый и четвертый блок
– двухцветный градиент
красный цвет
, который плавно переходит в зеленый
, занимающий оставшую часть элемента.
- Второй и пятый блок
– трехцветный градиент
, в котором 10%
от центра занимает красный цвет
, который плавно переходит в зеленый
, с точкой остановки 50%
, он в свою очередь плавно переходит в синий
, который занимает всю оставшуюся часть элемента.
- Третий и шестой блок
– трехцветный градиент
, в котором 50%
от центра занимает красный цвет
, который плавно переходит в зеленый
, с точкой остановки 85%
, он в свою очередь плавно переходит в синий
, который занимает всю оставшуюся небольшую часть элемента.
Давайте рассмотрим, как управлять размером радиального градиента в CSS.
Пример указания размера для радиальных градиентов
В этом примере мы создали три блока:
Первый блок
– мы указали одно значение
50px
, которое было расценено браузером как радиус для круглого градиента
. Указали для градиента 7 цветов
. Обратите внимание, что крайний цвет заполняет оставшуюся область.
Второй блок
– мы указали два значения
в процентах
: первое значение
- горизонтальный радиус
, а второе значение
- вертикальный радиус
для эллиптического градиента. Указали для градиента 8 цветов
. Обратите внимание, что крайний цвет мы указали белый, который и заполнил оставшуюся область
(один из вариантов, чтобы оставить только форму градиента).
Третий блок
– мы указали два значения
в единицах измерения длины
(px
и em
): первое значение
- горизонтальный радиус
, а второе значение
- вертикальный радиус
для эллиптического элемента. Указали для градиента 7 цветов
.