๐ SVG ์ค๋ช ์ฐธ๊ณ
์น์ฌ์ดํธ์์ ์ด๋ฏธ์ง๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ ํํ ์๋ ค์ง jpg, png ๋ฑ์ ์ด๋ฏธ์ง ํ์ผํ์ ๋ฟ๋ง ์๋๋ผ svg๋ผ๋ ํ์์ด ์กด์ฌํ๋ค.
SVG๋ 2์ฐจ์ ๋ฒกํฐ ๊ทธ๋ํฝ์ ํํํ๊ธฐ ์ํ XML ๊ธฐ๋ฐ์ ํ์ผํ์์ด๋ค. ์ฆ, ๊ธฐ์กด ์ด๋ฏธ์ง ํ์์ ํฝ์ ๋ก ์ด๋ฏธ์ง๋ฅผ ํํํ๋ค๋ฉด, svg๋ ๋ฒกํฐ(์ํ์ ๊ณ์ฐ)์ ํตํด ์ด๋ฏธ์ง๋ฅผ ํํํ๋ค.
<img src="nana.svg" />
.nana {
width: 300px;
height: 120px;
outline: 2px solid red;
background-image: url("./potion.svg");
}
<svg> ... </svg>
์ ์ SVG์ ๊ฒฝ์ฐ inline์ผ๋ก ์ฌ์ฉํด๋ ๊ด์ฐฎ์ง๋ง, ์บ์ฑ์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ง์ SVG๋ฅผ ์ฌ์ฉํ๋ค๋ฉด img ํ๊ทธ์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
<object type="image/svg+xml" data="./potion.svg" class="nana"></object>
SVG๋ ๋ฒกํฐ ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฌ์ฌ์ด์ง์ด ๋์ด๋ ์ ํ ๊นจ์ง์ง ์๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฌ์ด์ฆ๋ณ๋ก ์์ด์ฝ์ ์ผ์ผ์ด ์์ฑํด์ ๊ฐ๋ฐ์์๊ฒ ๋๊ฒจ์ค ํ์๊ฐ ์๋ค. SVG ํ์ผ ํ๋๋ฉด ๋ชจ๋ ํด์๋๋ฅผ ๋์ํ ์ ์๋ค.
๋นํธ๋งต ์ด๋ฏธ์ง๋ค(PNG, JPEG) ๊ฐ์ ๊ฒฝ์ฐ ํ์ผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ์ฃผ์ ์์๋ ๋ฐ๋ก โํด์๋โ์ด๋ค. ์๋ฅผ ๋ค์ด 5000x5000 ํฝ์ ์ด๋ฏธ์ง๋ ํญ์ 500x500๋ณด๋ค ํ์ผ ์ฌ์ด์ฆ๊ฐ ํฌ๋ค.
๋ฐ๋ฉด, SVG ๊ทธ๋ํฝ ๊ฐ์ ๊ฒฝ์ฐ ํ์ผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ์ฃผ์ ์์๋ ๋ฐ๋ก โ๋ณต์ก๋โ์ด๋ค. Path๊ฐ ๋น๊ต์ ์ ์ ๊ฐ๋จํ ์ด๋ฏธ์ง๋ PNG, JPEG ๋ณด๋ค ํ์ผ ์ฌ์ด์ฆ๊ฐ ์ ์ ์๋ ์์ง๋ง ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ฑํ๋ ์์์ ๋ณต์ก๋(๋ ์ด์ด๊ฐ ๋ง๋ค๋ ์ง ํน์ ํจ๊ณผ๊ฐ ๋ง๋ค๋ ์ง)์ ๋ฐ๋ผ ํ์ผ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ค.
๐ Which SVG technique performs best for way too many icons?
๐ Inline SVGโฆ Cached
๐ Inline SVG vs SVG File Performance