Свойство CSS `stroke-linecap`
Базовая поддержка Широко доступно
Эта возможность хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Свойство stroke-linecap CSS задаёт форму окончания незамкнутых линий открытых подпутей элементов SVG. Если оно задано, то переопределяет атрибут элемента stroke-linecap.
Это свойство применяется к любой фигуре SVG, у которой могут быть незамкнутые линии, а также к текстовым элементам (полный список см. в описании stroke-linecap). Однако, поскольку это наследуемое свойство, его можно применить к таким элементам, как <g>, и оно будет оказывать ожидаемое действие на линии дочерних элементов.
Синтаксис
/* keyword values */ stroke-linecap: butt; stroke-linecap: round; stroke-linecap: square; /* Global values */ stroke-linecap: inherit; stroke-linecap: initial; stroke-linecap: revert; stroke-linecap: revert-layer; stroke-linecap: unset;
Значения
Свойство задаётся одним из следующих ключевых слов:
-
butt - Указывает, что линия каждого подпути не выходит за его конечные точки. Подпуть нулевой длины не отображается. Это значение по умолчанию.
-
round - Указывает, что в конце каждого подпути линия продлевается на полукруг диаметром, равным ширине линии. Для подпути нулевой длины линия представляет собой полный круг с центром в точке подпути.
-
square - Указывает, что в конце каждого подпути линия продлевается на прямоугольник шириной, равной половине ширины линии, и высотой, равной ширине линии. Для подпути нулевой длины линия представляет собой квадрат шириной, равной ширине линии, с центром в точке подпути.
Формальное определение
| Исходное значение | butt |
|---|---|
| Применяется к |
элементам <circle>, <ellipse>, <line>, <path>, <polygon>, <polyline> и <rect> внутри <code>svg</code> |
| Наследуется | да |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
stroke-linecap =
butt |
round |
square
Примеры
Окончания линий
В этом примере показаны три ключевых значения свойства.
HTML
Сначала зададим светло-серый прямоугольник. Затем сгруппируем три пути длиной ровно в ширину прямоугольника, каждый из которых начинается у его левого края. Для всех задана линия dodgerblue шириной семь.
<svg viewBox="0 0 100 50" width="500" height="250">
<rect x="10" y="5" width="80" height="30" fill="#dddddd" />
<g stroke="dodgerblue" stroke-width="7">
<path d="M 10,10 h 80" />
<path d="M 10,20 h 80" />
<path d="M 10,30 h 80" />
</g>
</svg>
CSS
Затем с помощью CSS зададим для каждого пути свой стиль окончания линии.
path:nth-of-type(1) {
stroke-linecap: butt;
}
path:nth-of-type(2) {
stroke-linecap: square;
}
path:nth-of-type(3) {
stroke-linecap: round;
}
Результаты
У первого пути окончания линий butt, то есть линия заканчивается точно в конечных точках пути (в начале и в конце) и не выходит за них. У второго пути окончания линий square, поэтому видимая линия выходит за конечные точки пути, из-за чего её общая длина кажется равной 87: длина пути составляет 80, а ширина каждого из двух квадратных окончаний — 3,5. У третьего пути окончания circle. Поэтому он тоже кажется равным 87 единицам, но окончания имеют форму полукруга, а не квадрата.
Спецификации
Совместимость с браузерами
| Компьютер | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
stroke-linecap |
1 |
≤15 |
1.5 |
15 |
4 |
18 |
4 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
butt |
1 |
≤15 |
1.5 |
15 |
4 |
18 |
4 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
round |
1 |
≤15 |
1.5 |
15 |
4 |
18 |
4 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
square |
1 |
≤15 |
1.5 |
15 |
4 |
18 |
4 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
См. также
stroke-dasharraystroke-dashoffsetstroke-linejoinstroke-miterlimitstroke-opacitystroke-widthstroke- Атрибут SVG
stroke-linecap
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/stroke-linecap