<gradient>
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Тип <gradient> CSS данных — это специальный тип <image>, который представляет собой плавную смену между двумя или более цветами.
Попробуйте
Градиент CSS не имеет собственных размеров; то есть у него нет естественного или предпочтительного размера, ни соотношения сторон. Его фактический размер будет соответствовать размеру элемента, к которому он применяется.
Синтаксис
Тип <gradient> данных определяется одним из перечисленных ниже типов функций.
Линейный градиент
Линейные градиенты плавно переходят между цветами вдоль воображаемой линии. Они генерируются с помощью функции linear-gradient().
Радиальный градиент
Радиальные градиенты плавно переходят между цветами от центральной точки (начала). Они генерируются с помощью функции radial-gradient().
Конический градиент
Конические градиенты плавно переходят между цветами по окружности. Они генерируются с помощью функции conic-gradient().
Повторяющийся градиент
Повторяющиеся градиенты дублируют градиент столько раз, сколько необходимо для заполнения заданной области. Они генерируются функциями repeating-linear-gradient(), repeating-radial-gradient() и repeating-conic-gradient().
Интерполяция
Как и любая интерполяция, связанная с цветами, градиенты рассчитываются в цветовом пространстве с предварительным умножением на альфа-канал. Это предотвращает появление неожиданных оттенков серого при одновременном изменении цвета и непрозрачности. (Обратите внимание, что старые браузеры могут не использовать это поведение при использовании ключевого слова прозрачный.)
Формальный синтаксис
<gradient> =
<linear-gradient()> |
<repeating-linear-gradient()> |
<radial-gradient()> |
<repeating-radial-gradient()>
<linear-gradient()> =
linear-gradient( [ <linear-gradient-syntax> ] )
<repeating-linear-gradient()> =
repeating-linear-gradient( [ <linear-gradient-syntax> ] )
<radial-gradient()> =
radial-gradient( [ <radial-gradient-syntax> ] )
<repeating-radial-gradient()> =
repeating-radial-gradient( [ <radial-gradient-syntax> ] )
<linear-gradient-syntax> =
[ <angle> | to <side-or-corner> ]? , <color-stop-list>
<radial-gradient-syntax> =
[ <radial-shape> || <radial-size> ]? [ at <position> ]? , <color-stop-list>
<side-or-corner> =
[ left | right ] ||
[ top | bottom ]
<color-stop-list> =
<linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?
<radial-shape> =
circle |
ellipse
<radial-size> =
<radial-extent> |
<length [0,∞]> |
<length-percentage [0,∞]>{2}
<position> =
[ left | center | right | top | bottom | <length-percentage> ] |
[ left | center | right ] && [ top | center | bottom ] |
[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] |
[ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]
<linear-color-stop> =
<color> <length-percentage>?
<linear-color-hint> =
<length-percentage>
<radial-extent> =
closest-corner |
closest-side |
farthest-corner |
farthest-side
<length-percentage> =
<length> |
<percentage>
Примеры
Пример линейного градиента
Простой линейный градиент.
.linear-gradient {
background: linear-gradient(
to right,
red,
orange,
yellow,
green,
blue,
indigo,
violet
);
}
Пример радиального градиента
Простой радиальный градиент.
.radial-gradient {
background: radial-gradient(red, yellow, rgb(30 144 255));
}
Пример конического градиента
Пример простого конического градиента. Обратите внимание, что на данный момент он не поддерживается во всех браузерах.
.conic-gradient {
background: conic-gradient(pink, coral, lime);
}
Примеры повторяющихся градиентов
Примеры простых повторяющихся линейных и радиальных градиентов.
.linear-repeat {
background: repeating-linear-gradient(
to top left,
pink,
pink 5px,
white 5px,
white 10px
);
}
.radial-repeat {
background: repeating-radial-gradient(
lime,
lime 15px,
white 15px,
white 30px
);
}
.conic-repeat {
background: repeating-conic-gradient(lime, pink 30deg);
}
Спецификации
| Спецификация |
|---|
| CSS Images Module Level 4 # gradients |
Совместимость с браузерами
| Рабочий стол | Мобильное устройство | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в IOS | Samsung Internet | WebView Android | |
gradient |
2610 | 12 | 12.11511–15 | 75.1 | 2618 | 12.11411–14 | 75 | 1.51.0 | ≤37≤37 | ||
conic-gradient |
69 | 79 | 83 | 56 | 12.1 | 69 | 83 | 48 | 12.2 | 10.0 | 69 |
linear-gradient |
2610 | 12 | 16493.6["С Firefox 42, префиксную версию градиентов можно отключить, установивlayout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
12.115Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.11–15Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо. |
75.1["Safari 4 поддерживал экспериментальную-webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
2618 | 16494["С Firefox 42, префиксную версию градиентов можно отключить, установивlayout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
12.114Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.11–14Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо. |
75["Safari 4 поддерживал экспериментальную-webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
1.51.0 | ≤37≤37 |
radial-gradient |
2613 | 12 | 16493.6С Firefox 42 префиксная версия градиентов может быть отключена, установивlayout.css.prefixes.gradients в false. |
12.11511.6–15 | 75.1Safari 4 поддерживал экспериментальную-webkit-gradient(radial,…) функцию. Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости. |
2618 | 16494С Firefox 42 префиксная версия градиентов может быть отключена, установивlayout.css.prefixes.gradients в false. |
12.11412–14 | 75Safari 4 поддерживал экспериментальную-webkit-gradient(radial,…) функцию. Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости. |
1.51.0 | ≤37≤37 |
repeating-conic-gradient |
69 | 79 | 83 | 56 | 12.1 | 69 | 83 | 48 | 12.2 | 10.0 | 69 |
repeating-linear-gradient |
2610 | 12 |
16До Firefox 36 градиенты не применялись к пространству преумноженных цветов, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.3.6["С Firefox 42, префиксную версию градиентов можно отключить, установивlayout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
12.115Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.11–15Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо. |
75.1["Safari 4 поддерживал экспериментальную-webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в repeating-linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
2618 |
16До Firefox 36 градиенты не применялись к пространству преумноженных цветов, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.4["С Firefox 42, префиксную версию градиентов можно отключить, установивlayout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
12.114Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.11–14Учитывает<angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо. |
75["Safari 4 поддерживал экспериментальную-webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в repeating-linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."] |
1.51.0 | ≤37≤37 |
repeating-radial-gradient |
2610 | 12 |
16Перед Firefox 36 градиенты не применялись к цветовому пространству с предварительным умножением, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.3.6С Firefox 42 можно отключить префиксную версию градиентов, задавlayout.css.prefixes.gradients значение false. |
12.11512–15 | 75.1Safari 4 поддерживал экспериментальную функцию-webkit-gradient(radial,…). Эта устаревшая синтаксис по-прежнему поддерживается для обратной совместимости. |
2618 |
16Перед Firefox 36 градиенты не применялись к цветовому пространству с предварительным умножением, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.10С Firefox 42 можно отключить префиксную версию градиентов, задавlayout.css.prefixes.gradients значение false. |
12.11412–14 | 75Safari 4 поддерживал экспериментальную функцию-webkit-gradient(radial,…). Эта устаревшая синтаксис по-прежнему поддерживается для обратной совместимости. |
1.51.0 | 4.4≤37 |
|---|
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/gradient