728x90
λ²‘ν° κ·Έλν½μ νμΌ ν¬κΈ°κ° μκ³ νμ₯μ±μ΄ λ°μ΄λμ νλνλλΌλ ν½μ νλμ§ μλλ€.
λ²‘ν° κ·Έλν½μ΄λ 무μμΈκ°?
μΉμμλ raster image, vector image λ‘ 2κ°μ§ μ νμ μ΄λ―Έμ§λ‘ μμ ν μ μλ€.
Raster image
- ν½μ 그리λλ‘ μ μ
- raster image νμΌμλ κ° ν½μ μ΄ λ°°μΉλ μμΉμ μ νν μ΄λ€ μμ΄μ΄μΌ νλμ§ λ³΄μ¬μ£Όλ μ λ³΄κ° ν¬ν¨λμ΄ μλ€.
- μμ -
.bmp
,.png
,.jpg
,.gif
Vector image
- μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ μ μλλ€.
- vector image νμΌμλ μ»΄ν¨ν°κ° νλ©΄μ λ λλ§ν λ μ΄λ―Έμ§κ° μ΄λ»κ² 보μ¬μΌ νλμ§ κ³μ°νκΈ° μν΄ μ¬μ©ν μ μλ λͺ¨μκ³Ό κ²½λ‘μ λν μ μκ° ν¬ν¨λμ΄ μλ€.
- SVG νμμ μΉμμ μ¬μ©ν μ μλ κ°λ ₯ν λ²‘ν° κ·Έλν½μ λ§λ€κ² ν΄μ€λ€.
SVGλ 무μμΈκ°?
- λ²‘ν° μ΄λ―Έμ§λ₯Ό μ€λͺ νκΈ° μν XML κΈ°λ° μΈμ΄μ΄λ€.
- μ΄λ―Έμ§μ λνλΌ λνμ μ μνκΈ° μν μ¬λ¬ κ°μ§ μμμ λνμ μ μ©νκ³ μ νλ ν¨κ³Όλ€μ΄ μλ€.
<circle>
κ³Ό<rect>
μ κ°μ κ°λ¨ν λͺ¨μμ λ§λ€κΈ° μν μμκ° μλ€.- κ³ κΈ SVG κΈ°λ₯μΌλ‘λ
<feColorMatrix>
,<animate>
,<mask>
λ±μ΄ μλ€. - μκ³Ό μ§μ¬κ°νμ λ§λλ SVG μ½λ
<svg version="1.1"
baseProfile="full"
width="300" height="200"
xmlns="http://www.w3.org/2000/svg">
<rect width="100%" height="100%" fill="black" />
<circle cx="150" cy="100" r="90" fill="blue" />
</svg>
SVG μ΄λ―Έμ§λ₯Ό λ§λ€κΈ° μν΄ λλΆλΆ lnkscape νΉμ illustratorμ κ°μ λ²‘ν° κ·Έλν½ νΈμ§κΈ°λ₯Ό μ¬μ©νλ€.
μ₯μ
- λ²‘ν° μ΄λ―Έμ§μ ν μ€νΈμ μ κ·Ό κ°λ₯(SEO)
- SVGλ styling/scriptionμ μ μλ
λ¨μ
- 볡μ‘ν SVGλ νμΌ ν¬κΈ°κ° 컀μ§κ³ λΈλΌμ°μ μμ μλΉν μ²λ¦¬ μκ°μ΄ μμ → raster imageλ 볡μ‘ν μ λ° μ΄λ―Έμ§μμ λ λ«λ€
νμ΄μ§μ SVG μΆκ°νκΈ°
1.
μμ
- src μμ±μ μ°Έμ‘°
- λμ΄, λλΉ μμ±μ΄ νμ
<img
src="equilateral.svg"
alt="triangle with all three sides equal"
height="87"
width="100" />
- μ₯μ
- λΈλΌμ°μ μ μν΄ μΊμ±μ΄ λμ΄ μ΅μ΄ λ‘λ μ΄ν λ‘λ μκ°μ΄ λΉ¨λΌμ§
<a>
μμ μμ<img>
λ₯Ό μ€μ²©νμ¬ μ΄λ―Έμ§λ₯Ό νμ΄νΌλ§ν¬λ‘ λ§λ€ μ μμalt
μμ±μ ν μ€νΈ μ¬μ© κ°λ₯
- λ¨μ
- JavaScriptλ‘ μ΄λ―Έμ§λ₯Ό μ‘°μν μ μμ
- CSSλ‘ SVG μ½ν μΈ λ₯Ό μ μ΄νλ €λ©΄ SVG μ½λμ μΈλΌμΈ CSS λ₯Ό ν¬ν¨ν΄μΌ ν¨
- CSS μ μ¬ ν΄λμ€(
:focus
) λ₯Ό μ¬μ©νμ¬ μ΄λ―Έμ§ μ€νμΌ λ³κ²½μ΄ λΆκ°λ₯
SVGλ₯Ό μ§μνμ§ μλ λΈλΌμ°μ μ κ²½μ° src μμ±μ pngλ₯Ό λ‘λνκ³ srcset μμ±μ svgλ₯Ό λ‘λνλ€.
<img
src="equilateral.png"
srcset="equilateral.svg"
alt="triangle with all three sides equal"
height="87"
width="100" />
SVGλ₯Ό CSS λ°°κ²½ μ΄λ―Έμ§λ‘ μ¬μ©ν μ μλ€.
background: url("fallback.png") no-repeat center;
background-image: url("image.svg");
background-size: contain;
2. HTML λ¬Έμμ SVG μ½λ μΆκ°(μΈλΌμΈ SVG)
SVG μ½λλ₯Ό HTML λ¬Έμμ λΆμ¬λ£μ μ μμΌλ©° SVG μ½λλ <svg>
νκ·Έλ‘ μμνμ¬ </svg>
νκ·Έλ‘ λλλ€.
<svg width="300" height="200">
<rect width="100%" height="100%" fill="green" />
</svg>
- μ₯μ
- HTTP μμ²μ΄ μΊμ±λμ΄ λ‘λ μκ° μ€μΌ μ μμ
class
λid
λΆμ¬νμ¬ CSSλ‘ μ€νμΌμ μ§μ ν μ μμ- CSS μνΈμμ©κ³Ό CSS μ λλ©μ΄μ μ¬μ©ν μ μμ
- SVGλ₯Ό
<a>
λ‘ κ°μΈμ νμ΄νΌλ§ν¬λ‘ λ§λ€ μ μμ
- λ¨μ
- SVG μ½λλ HTML νμΌμ ν¬κΈ°λ₯Ό μ¦κ°μν΄
- λΈλΌμ°μ λ μΌλ° μ΄λ―Έμ§λ₯Ό μΊμνλ―λ‘ μΈλΌμΈ SVGλ μΊμν μ μμ
<foreignObject>
μμμ fallbackμ ν¬νν μ μμ§λ§ SVG λ₯Ό μ§μνλ λΈλΌμ°μ λ μ΄μ¨λ fallback μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λνλ€.
3. iframeμ μ¬μ©νμ¬ SVG μλ² λ©
<iframe src="triangle.svg" width="500" height="500" sandbox>
<img src="triangle.png" alt="Triangle with three unequal sides" />
</iframe>
μ΄ λ°©μμ μ’μ λ°©μμ΄ μλ!
- λ¨μ
iframe
μ fallbackμ΄ μμ§λ§ λΈλΌμ°μ λiframe
μ λν μ§μμ΄ μ ν μλ κ²½μ°μλ§ μ΄λ₯Ό νμ- SVGμ νμ¬ μΉνμ΄μ§μ originμ΄ λμΌνμ§ μμΌλ©΄ μΉνμ΄μ§μμ JavaScriptλ₯Ό νμ©νμ¬ SVGλ₯Ό μ‘°μν μ μλ€.
728x90
'Web > HTML' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[HTML] HTML table advanced features and accessibility (0) | 2022.07.27 |
---|---|
[HTML] HTML table basics (0) | 2022.07.27 |
[HTML] From object to iframe - other embedding technologies (0) | 2022.07.21 |
[HTML] Video and audio content (0) | 2022.07.20 |
[HTML] Images in HTML (0) | 2022.07.19 |