Languages

HTML / CSS - how can I add border to svg element?

0 points
Asked by:
Lani-Skinner
748

How can I add border to my svg element?

Let's say I have the following code:

// ONLINE-RUNNER:browser;

<!doctype html>
<html>
<body>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="height: 100px;">
    <path
          fill="black"
          d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z">
    </path>
  </svg>
</body>
</html>
1 answer
0 points
Answered by:
Lani-Skinner
748

You can use stroke and stroke-width properties to create a border for your svg element.

Note:

The stroke may go out of the vievBox, so you will need to adjust it e.g viewBox="-2 -2 515 515".

Practical example

In this example, we use:

  • fill - to change the color of the element to yellow,
  • stroke-width - to set the svg element border width,
  • stroke - to set the border color.
// ONLINE-RUNNER:browser;

<!doctype html>
<html>
<body>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 515 515" style="height: 100px;">
    <path
          fill="yellow"
          stroke-width="3px"
          stroke="green"
          d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z">
    </path>
  </svg>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="-3 -3 518 518" style="height: 100px;">
    <path
          fill="yellow"
          stroke-width="5px"
          stroke="green"
          d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z">
    </path>
  </svg>
  <svg  xmlns="http://www.w3.org/2000/svg" vector-effect="non-scaling-stroke" viewBox="-5 -5 525 525" style="height: 100px;">
    <path
          fill="yellow"
          stroke-width="10px"
          stroke="green"
          d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z">
    </path>
  </svg>
</body>
</html>

Note:

You can also use rgba() colors to fill element with partly transparent color or assign it to stroke to create semi-transparent border.

0 comments Add comment
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join