Ответ 1
В CSS что-то вроде:
path {
fill: none;
stroke: #646464;
stroke-width: 1px;
stroke-dasharray: 2,2;
stroke-linejoin: round;
}
Изменение: опечатка
Я вводил SVG-элементы в веб-страницу благодаря D3js. У меня возникают трудности с стилем этих элементов, поскольку такие синтаксисы, как
path { border: 3px solid green; }
не работает.
Как добавить границу/контур/штрих к элементам SVG в веб-страницах с помощью CSS?
В CSS что-то вроде:
path {
fill: none;
stroke: #646464;
stroke-width: 1px;
stroke-dasharray: 2,2;
stroke-linejoin: round;
}
Изменение: опечатка
На вопрос: как добавить границу/контур/штрих к элементам SVG в веб-страницах с CSS?
Вы можете сделать в CSS:
path { outline: 3px solid green; }
Обратите внимание, что с 2018 года он поддерживается хром и сафари, но может быть недоступен во всех современных браузерах. См. Пример ниже:
Я применил схему через CSS к группе <g>
с путями внутри. В статике это выглядит хорошо. В динамическом (перетаскивании) я периодически вижу эти артефакты (слева)
UPDATE:
<g>
...Попробуйте добавить тени.
Здесь он выглядит не так чисто, как в моих кодах, но все же может быть полезным.
svg {
filter: drop-shadow(1px 1px 0px #111) drop-shadow(-1px 1px 0px #111) drop-shadow(1px -1px 0px #111) drop-shadow(-1px -1px 0px #111);
}
.arr {
fill: none;
stroke: #5457ff;
stroke-width: 5;
stroke-linecap: round;
stroke-linejoin: round;
}
<svg height="45" width="40">
<g class="arr"><path d="m 5 20 l 15 -15 l 15 15 m -15 0 l 0 20"/></g>
</svg>