Свойство CSS `stroke-opacity`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с марта 2020 года.
Свойство stroke-opacity CSS определяет непрозрачность обводки фигуры SVG. Эффект идентичен эффекту свойства opacity, но применяется только к обводке, а не ко всему элементу. Если оно задано, то переопределяет атрибут элемента stroke-opacity.
Это свойство применяется к фигурам SVG и элементам, содержащим текст (полный список см. в описании stroke-opacity), но, поскольку это наследуемое свойство, его можно применить к таким элементам, как <g>, и оно по-прежнему будет оказывать нужное воздействие на обводки дочерних элементов.
Обратите внимание, что обводка фигуры частично перекрывает её заливку, поэтому обводка с непрозрачностью меньше 1 позволяет видеть смешение заливки и обводки в местах их наложения. Чтобы избежать этого эффекта, можно задать общую непрозрачность с помощью свойства opacity или поместить обводку позади заливки с помощью атрибута paint-order.
Синтаксис
/* numeric and percentage values */ stroke-opacity: 1; stroke-opacity: 0.3; stroke-opacity: 50%; /* Global values */ stroke-opacity: inherit; stroke-opacity: initial; stroke-opacity: revert; stroke-opacity: revert-layer; stroke-opacity: unset;
Значения
-
<number> - Любое действительное число от 0 до 1 включительно. Значение
0делает обводку полностью прозрачной, а значение1— полностью непрозрачной. Значения вне диапазона 0–1 ограничиваются ближайшей границей этого диапазона; таким образом, отрицательные значения ограничиваются значением0. -
<percentage> - То же, что и
<number>(см. выше), но допустимый диапазон составляет от 0% до 100%, и ограничение применяется с учётом этого диапазона.
Формальное определение
| Исходное значение | 1 |
|---|---|
| Применяется к |
<circle>, <ellipse>, <line>, <path>, <polygon>, <polyline> и <rect> в элементе <code>svg</code> |
| Наследуется | да |
| Вычисленное значение | заданное значение, ограниченное диапазоном <code>[0,1]</code> |
| Тип анимации | по типу вычисленного значения |
Формальный синтаксис
stroke-opacity =
<'opacity'>
Примеры
Различные значения непрозрачности обводки
В этом примере показано базовое использование свойства stroke-opacity и то, как обводка с непрозрачностью меньше 1 смешивается с заливкой в местах их наложения, поскольку обводка фигуры частично перекрывает её заливку.
HTML
Сначала создадим пять многоsegmentных контуров, каждый из которых использует чёрную обводку шириной в одну единицу и заливку dodgerblue для подпутей. Каждый контур образует ряд символов гор, от пологого угла слева до острого угла справа.
<svg viewBox="0 0 39 36" xmlns="http://www.w3.org/2000/svg">
<g stroke="black" stroke-width="1" fill="dodgerblue">
<path
d="M1,5 l7 ,-3 l7 ,3
m2,0 l3.5 ,-3 l3.5 ,3
m2,0 l2 ,-3 l2 ,3
m2,0 l0.75,-3 l0.75,3
m2,0 l0.5 ,-3 l0.5 ,3" />
<path
d="M1,12 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
<path
d="M1,19 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
<path
d="M1,26 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
<path
d="M1,33 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
</g>
</svg>
CSS
Для этих контуров зададим последовательно возрастающие значения непрозрачности обводки. У первых четырёх контуров заливку можно видеть сквозь внутреннюю половину обводки, хотя на четвёртом контуре это может быть трудно различить. У пятого, последнего контура обводка полностью непрозрачна, поэтому заливку сквозь неё не видно.
g path:nth-child(1) {
stroke-opacity: 0.2;
} /* equiv. 20% */
g path:nth-child(2) {
stroke-opacity: 0.4;
} /* equiv. 40% */
g path:nth-child(3) {
stroke-opacity: 0.6;
} /* equiv. 60% */
g path:nth-child(4) {
stroke-opacity: 0.8;
} /* equiv. 80% */
g path:nth-child(5) {
stroke-opacity: 1;
} /* equiv. 100% */
Результаты
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
stroke-opacity |
1 |
≤15 |
1.5 |
15 |
4 |
18 |
4 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
См. также
opacityfill-opacitypaint-orderstrokestroke-dasharraystroke-dashoffsetstroke-linecapstroke-linejoinstroke-miterlimitstroke-width- Атрибут SVG
stroke-opacity
© 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-opacity