Функция linear-gradient

Функция linear-gradient задает линейный градиент.

Данная функция применяется к свойствам, которые задают картинку фона: background, background-image или картинку границы: border-image, background-image-source.

Синтаксис

селектор { background: linear-gradient([угол или направление], цвет1 размер1, цвет2 размер2...); }

Значения

Значение Описание
направление Задает определенное направление градиента в любых единицах для углов либо ключевыми словами top, left, right, bottom или их комбинацией: top left, top right и так далее. Порядок слов не важен: можно писать top left и left top, разницы нет. Параметр необязательный: если его не написать, градиент будет идти сверху вниз (как при to top). Перед направлением ставится слово to.
угол Угол в любых единицах для углов. Может быть положительным или отрицательным. Параметр необязательный. Одновременно может быть задан или угол, или направление (или вообще ничего).
цвет1 Начальный цвет градиента в любых единицах для цвета.
цвет2 Конечный цвет градиента в любых единицах для цвета.
размер Задает протяженность определенного цвета градиента в любых единицах для размера.

Пример . Самый простой вариант

Синтаксис:

селектор { background: linear-gradient(начальный цвет, конечный цвет); }

Посмотрим на примере:

<div id="elem"></div> #elem { background: linear-gradient(black, red); width: 200px; height: 200px; }

:

Пример . Добавляем угол

Синтаксис:

селектор { background: linear-gradient(угол, начальный цвет, конечный цвет); }

Посмотрим на примере:

<div id="elem"></div> #elem { background: linear-gradient(45deg, black, red); width: 200px; height: 200px; }

:

Пример . Добавляем направление

Вместо угла можно добавить направление: top, left, right, bottom. Или комбинацию направлений: top left, top right и так далее.

Обратите внимание на то, что перед направлением ставится слово to: to top, to bottom и так далее.

Синтаксис:

селектор { background: linear-gradient(направление, начальный цвет, конечный цвет); }

Посмотрим на примере:

<div id="elem"></div> #elem { background: linear-gradient(to left, black, red); width: 200px; height: 200px; }

:

Пример . Добавляем направление

Укажем другое направление:

<div id="elem"></div> #elem { background: linear-gradient(to top left, black, red); width: 200px; height: 200px; }

:

Пример . Добавляем размер

Синтаксис:

селектор { background: linear-gradient(цвет1 размер1, цвет2 размер2); }

В следующем примере поведение будет следующее: чистый красный цвет будет от 0px до 30px, от 30px до 50px будет градиент от красного до голубого, а от 50px и до конца - чистый голубой:

<div id="elem"></div> #elem { background: linear-gradient(red 30px, blue 50px); width: 200px; height: 200px; }

:

Пример . Добавляем более чем 2 цвета

Синтаксис:

селектор { background: linear-gradient(цвет1 размер1, цвет2 размер2, цвет3 размер3...); }

В следующем примере поведение будет следующее: чистый красный цвет будет от 0px до 30px, от 30px до 50px будет градиент от красного до голубого, а от 50px и до 70px - градиент от голубого до зеленого, а после 70px - чистый зеленый:

<div id="elem"></div> #elem { background: linear-gradient(red 30px, blue 50px, green 70px); width: 200px; height: 200px; }

:

Пример . Резкие переходы

В следующем примере поведение будет следующее: чистый красный цвет будет от 0px до 30px, чистый голубой - от 30px до 60px, чистый зеленый - после 60px (red 0px можно и не писать):

селектор { background: linear-gradient(red 0px, red 30px, blue 30px, blue 60px, green 60px); }

Пример . Размеры можно задавать и в процентах

В следующем примере поведение будет следующее: чистый красный цвет будет от 0% до 30%, чистый голубой - от 30% до 60%, чистый зеленый - после 60% (red 0% можно и не писать):

<div id="elem"></div> #elem { background: linear-gradient(red 0%, red 30%, blue 30%, blue 60%, green 60%); width: 200px; height: 200px; }

:

Пример . Сочетание с background-size

В следующем примере поведение будет следующее: чистый красный цвет будет от 0px до 30px, чистый голубой - от 30px до 60px, при этом все это будет повторяться кусочками по 60px (из-за background-size: 60px;):

<div id="elem"></div> #elem { background: linear-gradient(to right, red 30px, blue 30px, blue 60px); background-size: 60px 60px; width: 200px; height: 200px; }

:

Смотрите также

  • функцию linear-gradient,
    которая создает линейный градиент
  • функцию radial-gradient,
    которая создает радиальный градиент
  • функцию repeating-linear-gradient,
    которая создает повторяющийся линейный градиент
  • функцию repeating-radial-gradient,
    которая создает повторяющийся радиальный градиент