Повторяющиеся градиенты взять трюк мы уже можем сделать с творческим использованием color-stops
на linear-gradient()
и radial-gradient()
нотации, и пекут его для нас.
Идея состоит в том, что мы можем создавать узоры из создаваемых нами градиентов и позволять им повторяться бесконечно.
Существует трюк с неповторяющимися градиентами, позволяющий создать градиент таким образом, чтобы, если бы это был маленький крошечный прямоугольник, он выровнялся бы с другими маленькими версиями крошечного прямоугольника самого себя, чтобы создать повторяющийся узор. Итак, по сути, создайте этот градиент и установите background-size
этот маленький крошечный прямоугольник. Это упростило создание полос, которые затем можно было вращать или что-то еще.
Синтаксис
Существует три типа повторяющихся градиентов, два из которых в настоящее время поддерживаются в официальной спецификации, а один - в текущем рабочем проекте.
Синтаксис для каждого обозначения такой же, как и связанный с ним тип градиента. Например, имеет repeating-linear-gradient()
тот же синтаксис, что и linear-gradient()
.
Повторяющийся градиент | Связанные обозначения | Поддерживается? |
---|---|---|
repeating-linear-gradient() | linear-gradient() | да |
repeating-radial-gradient | radial-gradient() | да |
repeating-conic-gradient | conic-gradient() | Нет |
Повторение градиента определяется конечной точкой цвета . Если это на 20px
размер градиента (который затем повторяет) представляет собой 20px
по 20px
площади. То же самое верно, если к узору привязано несколько цветов. Последний цвет с конечной остановкой определяет размер и расположение повтора.
.repeat ( background-image: repeating-linear-gradient( 45deg, yellow, yellow 10px, red 10px, red 20px /* determines size */ ); )
См. Pen lAkyo Криса Койера (@chriscoyier) на CodePen.
То же самое с радиальным:
.repeat ( background: repeating-radial-gradient( circle at 0 0, #eee, #ccc 50px ); )
См. Повторяющиеся градиенты пера Криса Койера (@chriscoyier) на CodePen.
Поддержка браузера
В настоящее время повторяющиеся градиенты отлично поддерживаются браузерами. Тем не менее, на момент написания этой статьи мы говорим только о линейных и радиальных градиентах, поскольку конические градиенты все еще являются предлагаемой функцией в рабочем проекте уровня 4 спецификации. Надеемся, что мы увидим широкое распространение, как только он достигнет рекомендации кандидата.
Эти данные о поддержке браузером взяты из Caniuse, где есть более подробная информация. Число означает, что браузер поддерживает эту функцию в этой версии и выше.
Рабочий стол
Хром | Fire Fox | IE | Край | Сафари |
---|---|---|---|---|
10 * | 3,6 * | 10 | 12 | 5.1 * |
Мобильный / планшет
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4 * | 5,0–5,1 * |