Spec-Zone.ru › CSS

<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
3.6Градиенты ограничены background-image, border-image и mask-image.
12.11511–15 75.1 2618
4Градиенты ограничены background-image, border-image и mask-image.
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 1649
3.6["С Firefox 42, префиксную версию градиентов можно отключить, установив layout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
12.1
15Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
11–15Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
7
5.1["Safari 4 поддерживал экспериментальную -webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
2618 1649
4["С Firefox 42, префиксную версию градиентов можно отключить, установив layout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
12.1
14Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
11–14Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
7
5["Safari 4 поддерживал экспериментальную -webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
1.51.0 ≤37≤37
radial-gradient 2613 12 1649
3.6С Firefox 42 префиксная версия градиентов может быть отключена, установив layout.css.prefixes.gradients в false.
12.11511.6–15 7
5.1Safari 4 поддерживал экспериментальную -webkit-gradient(radial,…) функцию. Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.
2618 1649
4С Firefox 42 префиксная версия градиентов может быть отключена, установив layout.css.prefixes.gradients в false.
12.11412–14 7
5Safari 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 градиенты не применялись к пространству преумноженных цветов, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.
49
3.6["С Firefox 42, префиксную версию градиентов можно отключить, установив layout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
12.1
15Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
11–15Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
7
5.1["Safari 4 поддерживал экспериментальную -webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в repeating-linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
2618
16До Firefox 36 градиенты не применялись к пространству преумноженных цветов, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.
49
4["С Firefox 42, префиксную версию градиентов можно отключить, установив layout.css.prefixes.gradients в false.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
12.1
14Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
11–14Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо.
7
5["Safari 4 поддерживал экспериментальную -webkit-gradient(linear,…) функцию. Она более ограничена, чем более поздняя стандартная версия: нельзя указать и позицию, и угол, как в repeating-linear-gradient(). Эта старая устаревшая синтаксис всё ещё поддерживается для обратной совместимости.", "Учитывает <angle> для начала справа, вместо сверху. То есть, рассматривается угол 0deg как индикатор направления вправо."]
1.51.0 ≤37≤37
END_OF_DOCUMENT_MARKER
repeating-radial-gradient 2610 12
16Перед Firefox 36 градиенты не применялись к цветовому пространству с предварительным умножением, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.
49
3.6С Firefox 42 можно отключить префиксную версию градиентов, задав layout.css.prefixes.gradients значение false.
12.11512–15 7
5.1Safari 4 поддерживал экспериментальную функцию -webkit-gradient(radial,…). Эта устаревшая синтаксис по-прежнему поддерживается для обратной совместимости.
2618
16Перед Firefox 36 градиенты не применялись к цветовому пространству с предварительным умножением, что приводило к неожиданному появлению оттенков серого при использовании прозрачности.
49
10С Firefox 42 можно отключить префиксную версию градиентов, задав layout.css.prefixes.gradients значение false.
12.11412–14 7
5Safari 4 поддерживал экспериментальную функцию -webkit-gradient(radial,…). Эта устаревшая синтаксис по-прежнему поддерживается для обратной совместимости.
1.51.0 4.4≤37

См. также

  • Использование CSS-градиентов
  • Функции градиента: linear-gradient(), repeating-linear-gradient(), radial-gradient(), repeating-radial-gradient(), conic-gradient(), repeating-conic-gradient()
  • Основные типы данных CSS
  • Единицы и значения CSS
  • Введение в CSS: Значения и единицы

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API