С помощью SVG легко задать паттерн наклонных линий. Простой пример.
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
<defs>
<pattern id="pinstripe" patternUnits="userSpaceOnUse" width="50" height="50">
<line x1="25" y="0" x2="25" y2="50" stroke="goldenrod" stroke-width="25" />
</pattern>
</defs>
<rect width="100%" height="100%" fill="url(#pinstripe)" />
</svg>
В этом примере не используется viewBox, вместо него используются width и height. Тег pattern имеет свои собственные размеры ширины и высоты. Атрибут patternUnits указывает на лимит повторения узора. Тег pattern задан внутри defs. Он не рисуется, пока на него не будет дана ссылка. В rect мы ссылаемся на паттерн.
Применив созданный SVG-файл в качестве фона страницы, мы получим обычные полоски как в первой статье:
body {
background-image: url(diagonal.svg);
}
Для демонстрации ограничимся контейнером.
Но pattern позволяет легко изменять поведение элементов. Внесём небольшие правки в diagonal.svg.
<pattern id="pinstripe" patternTransform="rotate(45)" patternUnits="userSpaceOnUse" width="50" height="50">
Вы можете задать любой угол наклона в patternTransform.
Напомню, что цвет между полосками меняется через свойство background-color в CSS:
body {
background-image: url(diagonal2.svg);
background-color: darkblue;
}
Можно менять угол наклона динамически через JavaScript - пример на CodePen.
Вернуться в раздел SVG в качестве фонового рисунка.