Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Простые векторные фигуры – строительные блоки логотипов, диаграмм, иконок, графиков и многих других SVG-изображений. В SVG-файле каждая базовая фигура представлена отдельным элементом, а его атрибуты задают положение, размер и визуальный стиль. Можно настроить цвет заливки, прозрачность, скругление углов, толщину обводки и другие свойства.
В этой статье вы узнаете, как:
fill, stroke, opacity и скругленные углы;<rect> – прямоугольникЭлемент <rect> создает прямоугольники и прямоугольники со скругленными углами. Прямоугольник позиционируется по левому верхнему углу, а его размер задается атрибутами width и height.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
x | X-координата левого верхнего угла | 0 |
y | Y-координата левого верхнего угла | 0 |
width | Ширина прямоугольника | – |
height | Высота прямоугольника | – |
rx | Горизонтальный радиус скругленных углов | 0 |
ry | Вертикальный радиус скругленных углов | 0 |
Прямоугольник можно стилизовать через presentation attributes или через атрибут style. Пример ниже использует fill, stroke, opacity и радиусы скругления, чтобы показать, как геометрия и painting работают вместе.
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <rect x="60" y="100" width="70" height="40" rx="10" ry="10" style="fill:#778899; stroke:#FF4500; stroke-width:5; fill-opacity:0.7; stroke-opacity:0.6" />
3</svg>Первый пример создает прямоугольник, левый верхний угол которого находится в точке (60, 100). Его ширина равна 70 единицам, высота – 40 единицам; углы скруглены, а контур окрашен в оранжевый цвет. Второй пример убирает скругление и использует более крупный квадратный прямоугольник, поэтому разницу между rx/ry и обычными острыми углами легче увидеть.
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <rect x="120" y="140" width="90" height="90" style="fill:grey; stroke-width:3; stroke:rgb(0,0,0)" />
3</svg>
fill – цвет заливки прямоугольника;fill-opacity – прозрачность заливки, где 0 означает полную прозрачность, а 1 – непрозрачность;stroke – цвет контура;stroke-width – толщина контура;stroke-opacity – прозрачность контура.Цвета можно задавать несколькими способами:
fill:blue.fill:rgb(0,0,255).fill:#0000ff.<circle> – кругЭлемент <circle> рисует правильный круг. Его положение задается координатами центра cx и cy, а размер – радиусом r.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
cx | X-координата центра круга | 0 |
cy | Y-координата центра круга | 0 |
r | Радиус круга | – |
1<svg width="300" height="550" xmlns="http://www.w3.org/2000/svg">
2 <circle cx="250" cy="100" r="60" style="fill:red; stroke-width:3; stroke:rgb(0,0,0); fill-opacity:0.7" />
3</svg>Код ниже задает cx и cy для центра круга и r для радиуса. Поскольку круг окрашен и через fill, и через stroke, результат также показывает, как геометрия фигуры сочетается со свойствами painting.

Круг выходит за пределы viewport шириной 300 px; для полного отображения нужна ширина не меньше 310 px, то есть cx + r.
<ellipse> – эллипсЭлемент <ellipse> создает овальную фигуру. Он также использует центральную точку, но имеет два радиуса: rx для горизонтального размера и ry для вертикального размера.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
cx | X-координата центра эллипса | 0 |
cy | Y-координата центра эллипса | 0 |
rx | Горизонтальный радиус, половина ширины | – |
ry | Вертикальный радиус, половина высоты | – |
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <ellipse cx="140" cy="310" rx="90" ry="20" style="fill:OrangeRed" />
3 <ellipse cx="120" cy="280" rx="110" ry="20" style="fill:grey; fill-opacity:0.5" />
4</svg>Пример рисует два эллипса с разными радиусами и прозрачностью. Второй эллипс, серый и с прозрачностью 50 %, отображается поверх первого, потому что SVG рисует элементы в порядке их появления в исходном коде: более поздние элементы оказываются выше более ранних.

<line> – линияЭлемент <line> рисует прямой сегмент между двумя координатными точками. У него нет области заливки, поэтому видимым линиям обычно нужны stroke и stroke-width.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
x1 | X-координата начальной точки | – |
y1 | Y-координата начальной точки | – |
x2 | X-координата конечной точки | – |
y2 | Y-координата конечной точки | – |
style (stroke, stroke-width) | Визуальный стиль линии | – |
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <line x1="30" y1="30" x2="350" y2="290" style="stroke:rgb(255,0,0); stroke-width:3" />
3 <line x1="30" y1="50" x2="300" y2="350" style="stroke:grey; stroke-width:5" />
4 <line x1="20" y1="80" x2="100" y2="200" style="stroke:orangered; stroke-width:8" />
5</svg>
Каждая линия в примере имеет свою начальную точку, конечную точку, цвет и толщину. Свойство stroke задает цвет линии, а stroke-width – ее толщину.
<polyline> – ломаная линияЭлемент <polyline> рисует серию соединенных прямых сегментов. Он часто используется для ломаных линий, линий графиков, простых контуров и открытых угловатых фигур.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
points | Список пар координат x,y, задающих вершины polyline | – |
style (fill, stroke, stroke-width) | Визуальный стиль фигуры | – |
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <polyline points="280,290 300,220 320,290" style="fill:grey; stroke:grey; stroke-width:2; fill-opacity:0.5" />
3 <polyline points="220,200 240,180 260,200 280,180 300,200 320,180 340,200" style="fill:none; stroke:red; stroke-width:6" />
4</svg>
Первая polyline использует три точки и визуально образует треугольную фигуру. Вторая polyline – открытая зигзагообразная линия с fill="none"; это обычно самый понятный вариант, когда polyline должна вести себя как линия, а не как заполненная фигура.
Подробнее о стилизации SVG смотрите в статье Заливка и обводка в SVG.
<polygon> – многоугольникЭлемент <polygon> задает замкнутую фигуру из последовательности соединенных точек. SVG автоматически соединяет последнюю точку с первой.
| Атрибут | Описание | Значение по умолчанию |
|---|---|---|
points | Список пар координат x,y для каждой вершины, минимум три точки | – |
style (fill, stroke, stroke-width) | Визуальный стиль polygon | – |
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <polygon points="160,10 350,140 210,350 50,199" style="fill:orange;stroke:purple;stroke-width:1" />
3</svg>В примере polygon использует четыре пары координат в атрибуте points. Поскольку <polygon> всегда замкнут, фиолетовая обводка автоматически возвращается от последней точки к первой.

<svg> с атрибутами width, height и xmlns.<rect>, <circle>, <ellipse>, <line>, <polyline> или <polygon>.fill, stroke, stroke-width или opacity.Минимальный SVG-документ может объединять все базовые фигуры в одной иллюстрации. Это удобно, когда нужно создавать диаграммы, бейджи, иконки или сгенерированную графику из простых примитивов.
1<svg width="500" height="550" xmlns="http://www.w3.org/2000/svg">
2 <line x1="30" y1="30" x2="350" y2="290" style="stroke:rgb(255,0,0); stroke-width:3" />
3 <line x1="30" y1="50" x2="300" y2="350" style="stroke:grey; stroke-width:5" />
4 <rect x="60" y="100" width="70" height="40" rx="10" ry="10" style="fill:#778899; stroke:#FF4500; stroke-width:5; fill-opacity:0.7; stroke-opacity:0.6" />
5 <polygon points="160,10 350,140 210,350 50,199" style="fill:orange; stroke:purple; stroke-width:1; fill-opacity:1" />
6 <rect x="120" y="150" width="90" height="90" style="fill:grey; stroke-width:3; stroke:rgb(0,0,0)" />
7 <circle cx="250" cy="100" r="60" style="fill:red; stroke:black; stroke-width:3; fill-opacity:0.7" />
8 <ellipse cx="140" cy="310" rx="90" ry="20" style="fill:OrangeRed" />
9 <ellipse cx="120" cy="280" rx="110" ry="20" style="fill:grey; fill-opacity:0.5" />
10 <polyline points="220,200 240,180 260,200 280,180 300,200 320,180 340,200" style="fill:none; stroke:red; stroke-width:6" />
11 <line x1="20" y1="80" x2="100" y2="200" style="stroke:orangered; stroke-width:8" />
12 <polyline points="280,290 300,220 320,290" style="fill:grey; stroke:grey; stroke-width:2; fill-opacity:0.5" />
13</svg>
Иллюстрация «SVG Basic Shapes» содержит все фигуры, описанные выше: линии, прямоугольники, круг, эллипсы, polyline и polygon. Рядом показана известная картина Василия Кандинского «Розовый акцент», где простые геометрические формы превращаются в более выразительную композицию.
| Проблема | Вероятная причина | Как исправить |
|---|---|---|
| Фигура не видна | SVG viewport меньше фигуры | Увеличьте width / height или настройте viewBox |
| Фигура обрезается | Координаты выходят за границы viewport | Пересчитайте координаты или расширьте SVG-холст |
| Цвет заливки не отображается | Задано fill="none" или fill-opacity="0" | Укажите корректное значение fill и opacity |
| Обводка невидима | Задано stroke-width="0" или отсутствует stroke | Задайте и stroke, и положительный stroke-width |
| Скругленные углы не работают | Значения rx / ry отсутствуют или равны нулю | Укажите ненулевые атрибуты rx и ry |
| Элементы неожиданно перекрываются | SVG рисует элементы в порядке исходного кода | Измените порядок элементов в разметке или используйте группировку |
| Задача | Пример |
|---|---|
| Сплошная заливка | fill="blue" |
| Полупрозрачная заливка | fill="red" fill-opacity="0.5" |
| Прозрачная заливка с видимым контуром | fill="none" stroke="black" |
| Полупрозрачная обводка | stroke="black" stroke-opacity="0.4" |
| Толстый цветной контур | stroke="orange" stroke-width="6" |
| Пунктирный контур | stroke-dasharray="5,3" |
О продвинутых приемах стилизации SVG читайте в статье Заливка и обводка в SVG.
Используйте <rect> для прямоугольников, <circle> для круглых фигур с одинаковым радиусом, <ellipse> для овалов, <line> для одного прямого сегмента, <polyline> для открытой цепочки сегментов и <polygon> для замкнутой фигуры из точек.
<polyline> рисует соединенные точки, но остается открытой, если вручную не повторить первую точку. <polygon> закрывает фигуру автоматически, соединяя последнюю точку с первой.
Да. Большинство SVG-фигур могут использовать и fill, и stroke. fill окрашивает внутреннюю область фигуры, а stroke и stroke-width рисуют контур.
Да, если графика представляет собой простой прямоугольник, круг, эллипс, прямую линию, polyline или polygon. Используйте SVG Path Data, когда нужны кривые, дуги, пользовательские контуры или один сложный контур.
<rect>, <circle>, <ellipse>, <line>, <polyline> и <polygon>.stroke-width, line caps, line joins, opacity и dash patterns.fill и stroke.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.