Для создания "полосатой" страницы достаточно чередовать белое пространство с чёрным. Создайте файл stripe.svg со следующим содержанием.
<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">
<rect width="0.5" height="1" />
</svg>
Помните, что viewBox или эквивалентные атрибуты width и height могуб быть использованы для задания размеров svg для создания фоновых изображений.
Применим созданный SVG-файл в качестве фона страницы:
body {
background-image: url(stripe.svg);
}
По умолчанию, SVG растянется на всю предоставленную область и вы увидите несколько широких чёрно-белых полос: от 2 до 5-6 в зависимости от ширины вашего монитора.
Для демонстрации ограничимся контейнером.
Чтобы паттерн повторялся чаще, чем один раз, мы можем применить background-size в CSS, указав ширину и высоту.
body {
background-image: url(stripe.svg);
background-size: 20px 20px;
}
Подобный паттерн легко изменить, например, поменяв направление полос.
Горизонтальные узкие полоски.
body { background-size: 1px 10px; }
Вертикальные узкие полоски.
body { background-size: 10px 1px; }
Поменять цвет полосок можно, используя rgba или hsla в SVG:
<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">
<rect width="0.5" height="1" fill="rgba(215, 40, 40, 0.9)" />
</svg>
Цвет между полосками меняется через свойство background-color в CSS. Поменяем на красный:
body {
background-image: url(stripe.svg);
background-size: 20px 20px;
background-color: #669;
}
Файл настолько мал, что можно его содержимое вставить в CSS:
body {
background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg"><rect width="0.5" height="1" fill="hsla(32, 42%, 50%, .5)" /></svg>');
background-size: 20px 20px;
}
Или использовать кодирование Base64:
body {
background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMiAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjIiIGZpbGw9ImhzbGEoMzIsIDQyJSwgNTAlLCAuNSkiIC8+PC9zdmc+');
}
Мы можем сделать полоски уже или толще, используя background-size, но не можем изменить пропорции между линиями. Чтобы добиться этой цели, нужно отредактировать SVG-файл, сделав прямоугольник уже или шире. Сравните с первым примером.
<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">
<rect width=".25" height="1" />
</svg>
Освоив базовые приёмы, вы можете создавать более сложные варианты горизонтальных и вертикальных полосок. Например, паттерн из ⅓ ширины прямоугольника накладывается на ⅓ высоту:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<g fill="rgba(0,0,0,0.3)">
<rect width="100" height="33" />
<rect width="33" height="100" x="67" />
</g>
</svg>
Создадим узор, который можно встретить на тёплых рубашках или пледе.
SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<g fill="rgba(0,0,0,0.3)" stroke-dasharray="3" stroke="rgba(0,0,0,0.2)">
<rect width="100" height="33" />
<line x1="33" y1="0" x2="33" y2="100" />
<line x1="0" y1="66.66" x2="100" y2="66.66" />
<rect width="33" height="100" x="66" />
</g>
</svg>
CSS
.stripe-plaid {
height: 400px;
width: 50%;
background-color: #f33;
background-image: url(stripe-plaid.svg);
background-size: 22%;
background-position: 33%;
}
Вернуться в раздел SVG в качестве фонового рисунка.