λ€μν λΈλΌμ°μ μ κΈ°κΈ°μμ λ°μν μμ μ€μΌμΌλ§μ μν CSS zoom μμ±μ λ§μ€ν°νμΈμ. μ΅μ μ μΉ λμμΈμ μν΄ μ¬μ©λ², νκ³, λμμ μμ보μΈμ.
CSS Zoom μμ±: μμ μ€μΌμΌλ§μ μν μ’ ν© κ°μ΄λ
CSSμ zoom
μμ±μ μμμ μκ°μ λ λλ§μ νλ/μΆμν μ μκ² ν΄μ€λλ€. κ°λ¨ν΄ 보μ΄μ§λ§, μ΄ μμ±μ λ―Έλ¬ν μ°¨μ΄, λΈλΌμ°μ νΈνμ±, κ·Έλ¦¬κ³ λμμ μ΄ν΄νλ κ²μ κ²¬κ³ νκ³ μ κ·Όμ± λμ μΉ μ ν리μΌμ΄μ
μ ꡬμΆνλ λ° λ§€μ° μ€μν©λλ€. μ΄ κ°μ΄λμμλ zoom
μμ±μ μ¬μ©λ², νκ³, κ·Έλ¦¬κ³ λͺ¨λ² μ¬λ‘μ λν ν¬κ΄μ μΈ κ°μλ₯Ό μ 곡ν©λλ€.
CSS Zoom μμ± μ΄ν΄νκΈ°
zoom
μμ±μ μμμ μ½ν
μΈ μ μκ°μ ννμ ν¬κΈ°λ₯Ό μ‘°μ ν©λλ€. μ΄λ ν
μ€νΈ, μ΄λ―Έμ§, κ·Έλ¦¬κ³ λ€λ₯Έ μ€μ²©λ μμλ₯Ό ν¬ν¨νμ¬ μμ λ΄μ λͺ¨λ κ²μ μν₯μ λ―ΈμΉ©λλ€. μ€μΌμΌλ§μ μμμ μ’
ν‘λΉλ₯Ό μ μ§νλ©° κ· μΌνκ² μ μ©λ©λλ€.
기본 ꡬ문
zoom
μμ±μ κΈ°λ³Έ ꡬ문μ κ°λ¨ν©λλ€:
selector {
zoom: value;
}
value
λ λ€μ μ€ νλμΌ μ μμ΅λλ€:
normal
: νλ/μΆμ μμ€μ κΈ°λ³Έκ°(μΌλ°μ μΌλ‘ 100%)μΌλ‘ μ¬μ€μ ν©λλ€.<number>
: μ€μΌμΌλ§ μΈμλ₯Ό λνλ΄λ μ«μ κ°μ λλ€. μλ₯Ό λ€μ΄,zoom: 2;
λ ν¬κΈ°λ₯Ό λ λ°°λ‘,zoom: 0.5;
λ ν¬κΈ°λ₯Ό λ°μΌλ‘ μ€μ λλ€. 1λ³΄λ€ ν° κ°μ μμλ₯Ό νλνκ³ , 1λ³΄λ€ μμ κ°μ μΆμν©λλ€. 0μ μ ν¨νμ§ μμ΅λλ€.<percentage>
: μλ³Έ ν¬κΈ°μ λν μ€μΌμΌλ§ μΈμλ₯Ό λνλ΄λ λ°±λΆμ¨ κ°μ λλ€. μλ₯Ό λ€μ΄,zoom: 200%;
λzoom: 2;
μ λμΌνλ©°,zoom: 50%;
λzoom: 0.5;
μ λμΌν©λλ€.
μ€μ©μ μΈ μμ
zoom
μμ±μ΄ μ΄λ»κ² μλνλμ§ μ€λͺ
νκΈ° μν΄ λͺ κ°μ§ μ€μ©μ μΈ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μμ 1: λ²νΌ ν¬κΈ°λ₯Ό λ λ°°λ‘ λ§λ€κΈ°
.button {
zoom: 2;
}
μ΄ CSS μ½λλ "button" ν΄λμ€λ₯Ό κ°μ§ λͺ¨λ μμμ ν¬κΈ°λ₯Ό λ λ°°λ‘ λ§λλλ€. λ²νΌμ ν μ€νΈμ ν¬ν¨λ λͺ¨λ μμ΄μ½λ ν¨κ» νλλ©λλ€.
μμ 2: μ΄λ―Έμ§ ν¬κΈ° μ€μ΄κΈ°
.small-image {
zoom: 0.75;
}
μ΄ CSS μ½λλ "small-image" ν΄λμ€λ₯Ό κ°μ§ λͺ¨λ μ΄λ―Έμ§μ ν¬κΈ°λ₯Ό μλ³Έμ 75%λ‘ μ€μ λλ€.
μμ 3: λ°±λΆμ¨ κ° μ¬μ©νκΈ°
.container {
zoom: 150%;
}
μ΄ CSS μ½λλ "container" ν΄λμ€λ₯Ό κ°μ§ λͺ¨λ μμμ ν¬κΈ°λ₯Ό μλ³Έμ 150%λ‘ μ¦κ°μν΅λλ€. μ΄λ κΈ°λ₯μ μΌλ‘ zoom: 1.5;
μ λμΌν©λλ€.
λΈλΌμ°μ νΈνμ±
zoom
μμ±μ λΈλΌμ°μ νΈνμ± μΈ‘λ©΄μμ λ€μ 볡μ‘ν μμ¬λ₯Ό κ°μ§κ³ μμ΅λλ€. μ΄μ λ²μ μ Internet Explorer λ° κΈ°ν λΈλΌμ°μ μμλ λ리 μ§μλμμ§λ§, λ§μ μ΅μ λΈλΌμ°μ λ²μ μμλ μ§μμ΄ μ€λ¨λκ±°λ μ κ±°λμμ΅λλ€. λν λΈλΌμ°μ λ§λ€ λμμ΄ μΌκ΄λμ§ μμμ΅λλ€.
- Internet Explorer: μ ν΅μ μΌλ‘
zoom
μμ±μ μ΄μ λ²μ μ Internet Explorerμμ μ μ§μλμμ΅λλ€. - Chrome, Safari, Firefox, Edge: μ΄ λΈλΌμ°μ λ€μ μ΅μ λ²μ μ
zoom
μ§μμ μ€λ¨νκ±°λ, μ’ μ’ λΆμΌμΉλ₯Ό 보μ΄λ μ νλ μ§μλ§ μ 곡ν©λλ€. μΌλ°μ μΌλ‘ μ΅μ λΈλΌμ°μ μμ μΌκ΄λ μ€μΌμΌλ§μ μν΄zoom
μμ±μ μμ‘΄νμ§ *μλ* κ²μ΄ μ’μ΅λλ€.
μ΄λ¬ν νΈνμ± λ¬Έμ λλ¬Έμ μ΅μ μΉ κ°λ°μμλ μμ μ€μΌμΌλ§μ μν λμμ κ³ λ €νλ κ²μ΄ μ€μν©λλ€.
Zoom μμ±μ νκ³
λΈλΌμ°μ νΈνμ± μΈμλ, zoom
μμ±μ λ€λ₯Έ μ€μΌμΌλ§ λ°©λ²λ³΄λ€ λ λ°λμ§νκ² λ§λλ λͺ κ°μ§ νκ³λ₯Ό κ°μ§κ³ μμ΅λλ€:
- μ κ·Όμ± λ¬Έμ :
zoom
μμ±μ λλλ‘ μ κ·Όμ±μ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€. μ€ν¬λ¦° 리λκ° νλ/μΆμλ μ½ν μΈ λ₯Ό μ¬λ°λ₯΄κ² ν΄μνμ§ λͺ»νμ¬ μ₯μ κ° μλ μ¬μ©μμκ² μ’μ§ μμ μ¬μ©μ κ²½νμ μ΄λν μ μμ΅λλ€. μλ₯Ό λ€μ΄, `zoom`μΌλ‘ ν¬κΈ°κ° μ‘°μ λ ν μ€νΈλ μ λλ‘ λ¦¬νλ‘μ°(reflow)λμ§ μκ±°λ μ€ν¬λ¦° 리λκ° μ¬λ°λ₯΄κ² μ½μ§ λͺ»ν μ μμ΅λλ€. - λ μ΄μμ λΆμΌμΉ:
zoom
μμ±μ νΉν 볡μ‘ν λ μ΄μμμμ μ¬μ©λ λ λ μ΄μμ λΆμΌμΉλ₯Ό μ λ°ν μ μμ΅λλ€. ν¬κΈ°κ° μ‘°μ λ μμκ° νμ΄μ§μ λ€λ₯Έ μμμ μ¬λ°λ₯΄κ² μνΈμμ©νμ§ μμ μμμΉ λͺ»ν μκ°μ κ²°κ³Όλ₯Ό μ΄λν μ μμ΅λλ€. `zoom`μ μκ°μ λ λλ§μλ§ μν₯μ λ―ΈμΉλ―λ‘ κΈ°λ³Έ λ μ΄μμ μΉμλ λ³κ²½νμ§ μμ΅λλ€. μ΄λ‘ μΈν΄ λ μ΄μμμ κ²ΉμΉ¨μ΄λ κ°κ²©μ΄ λ°μν μ μμ΅λλ€. - 리νλ‘μ° λ¬Έμ :
zoom
μμ±μ νμ μ½ν μΈ λ₯Ό μμλλ‘ λ¦¬νλ‘μ°νμ§ μμ΅λλ€. μ΄λ ν μ€νΈκ° λ§μ μ½ν μΈ μμ νΉν λ¬Έμ κ° λ μ μμ΅λλ€. ν μ€νΈκ° ν¬κΈ°κ° μ‘°μ λ μμ λ΄μμ μ λλ‘ μ€ λ°κΏλμ§ μμ μ€λ²νλ‘μ° λ¬Έμ κ° λ°μν μ μμ΅λλ€. - μκ°μ μ곑(Visual Artifacts): κ²½μ°μ λ°λΌ
zoom
μμ±μ μ¬μ©νλ©΄ νΉν μμλ₯Ό ν¬κ² νλν λ ν μ€νΈκ° νλ €μ§κ±°λ μ΄λ―Έμ§κ° ν½μ νλλ λ± μκ°μ μκ³‘μ΄ λ°μν μ μμ΅λλ€.
CSS Zoom μμ±μ λμ
zoom
μμ±μ νκ³μ λΈλΌμ°μ νΈνμ± λ¬Έμ λ₯Ό κ³ λ €ν λ, μμ μ€μΌμΌλ§μ μν΄ λμμ μΈ λ°©λ²μ μ¬μ©νλ κ²μ΄ μΌλ°μ μΌλ‘ κΆμ₯λ©λλ€. κ°μ₯ μΌλ°μ μ΄κ³ μ λ’°ν μ μλ λμμ CSS λ³ν(transforms)μ
λλ€.
CSS λ³ν(Transforms): transform: scale()
μμ±
transform: scale()
μμ±μ μμλ₯Ό μ€μΌμΌλ§νλ λ κ²¬κ³ νκ³ λ리 μ§μλλ λ°©λ²μ μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ XμΆκ³Ό YμΆμ λ°λΌ μμλ₯Ό μ€μΌμΌλ§νμ¬ μ€μΌμΌλ§ κ³Όμ μ λ μΈλ°νκ² μ μ΄ν μ μμ΅λλ€.
기본 ꡬ문
selector {
transform: scale(x, y);
}
x
: XμΆμ λ°λ₯Έ μ€μΌμΌλ§ μΈμ.y
: YμΆμ λ°λ₯Έ μ€μΌμΌλ§ μΈμ.
κ°μ΄ νλλ§ μ 곡λλ©΄ XμΆκ³Ό YμΆ λͺ¨λμ μ¬μ©λμ΄ κ· μΌν μ€μΌμΌλ§μ΄ λ©λλ€.
μ€μ©μ μΈ μμ
μμ 1: transform: scale()
μ μ¬μ©νμ¬ λ²νΌ ν¬κΈ° λ λ°°λ‘ λ§λ€κΈ°
.button {
transform: scale(2);
}
μ΄ μ½λλ zoom: 2;
μμ μ λμΌν κ²°κ³Όλ₯Ό λ¬μ±νμ§λ§, λ λμ λΈλΌμ°μ νΈνμ±κ³Ό μμΈ‘ κ°λ₯ν λμμ μ 곡ν©λλ€.
μμ 2: μ΄λ―Έμ§ λΉλμΉμ μΌλ‘ μ€μΌμΌλ§νκΈ°
.stretched-image {
transform: scale(1.5, 0.75);
}
μ΄ μ½λλ μ΄λ―Έμ§μ λλΉλ₯Ό μλ³Έμ 150%λ‘, λμ΄λ₯Ό 75%λ‘ μ‘°μ ν©λλ€.
μμ 3: μ€μΌμΌλ§κ³Ό λ€λ₯Έ λ³ν κ²°ν©νκΈ°
.rotated-and-scaled {
transform: rotate(45deg) scale(1.2);
}
μ΄ μ½λλ μμλ₯Ό 45λ νμ μν¨ λ€μ μλ³Έ ν¬κΈ°μ 120%λ‘ νλν©λλ€. μ΄λ λ³νμ κ²°ν©νλ κ°λ ₯ν¨μ 보μ¬μ€λλ€.
transform: scale()
μ¬μ©μ μ₯μ
- λ λμ λΈλΌμ°μ νΈνμ±:
transform
μμ±μ μ΅μ λΈλΌμ°μ μ λ°μμ λ리 μ§μλ©λλ€. - ν₯μλ μ±λ₯: λ§μ κ²½μ°,
transform: scale()
μ νλμ¨μ΄ κ°μμ νμ©νκΈ° λλ¬Έμzoom
λ³΄λ€ λ λμ μ±λ₯μ μ 곡ν©λλ€. - λ ν° μ μ΄λ ₯:
transform
μμ±μ μ€μΌμΌλ§ κ³Όμ μ λ μΈλ°νκ² μ μ΄ν μ μκ² ν΄μ£Όμ΄ XμΆκ³Ό YμΆμ λ°λΌ λ 립μ μΌλ‘ μμλ₯Ό μ€μΌμΌλ§ν μ μμ΅λλ€. - λ€λ₯Έ λ³νκ³Όμ ν΅ν©:
transform
μμ±μrotate()
,translate()
,skew()
μ κ°μ λ€λ₯Έ CSS λ³νκ³Ό κ²°ν©νμ¬ λ³΅μ‘ν μκ° ν¨κ³Όλ₯Ό λ§λ€ μ μμ΅λλ€. - λ λμ μ κ·Όμ±: `transform: scale()`μ `zoom`λ³΄λ€ μ€ν¬λ¦° 리λμ λ μμΈ‘ κ°λ₯νκ² μνΈμμ©νλ κ²½ν₯μ΄ μμ΅λλ€.
κΈ°ν λμ
transform: scale()
μΈμλ νΉμ μν©μ λ°λΌ λ€μ μ κ·Ό λ°©μμ κ³ λ €ν΄ λ³΄μΈμ:
- λ·°ν¬νΈ λ©ν νκ·Έ: μ΄κΈ° νμ΄μ§ μ€μΌμΌλ§(μ: μ΄κΈ° μ€)μ μν΄μλ HTMLμ
<head>
μΉμ μ<meta name="viewport">
νκ·Έλ₯Ό μ¬μ©νμΈμ. μ΄κ²μ νμ΄μ§κ° λ€λ₯Έ κΈ°κΈ°μμ μ΄λ»κ² μ€μΌμΌλ§λ μ§λ₯Ό μ μ΄ν©λλ€. μ:<meta name="viewport" content="width=device-width, initial-scale=1.0">
. - κΈκΌ΄ ν¬κΈ° μ‘°μ (ν
μ€νΈμ©): ν
μ€νΈλ§ μ€μΌμΌλ§ν΄μΌ νλ κ²½μ°
font-size
μμ±μ μ‘°μ νμΈμ.em
μ΄λrem
κ³Ό κ°μ μλ λ¨μλ₯Ό μ¬μ©νλ©΄ λ°μνμΌλ‘ λ§λ€ μ μμ΅λλ€. μ:font-size: 1.2rem;
- Flexbox λ° Grid λ μ΄μμ: μ΄λ¬ν λ μ΄μμ λͺ¨λΈμ λͺ μμ μΈ μ€μΌμΌλ§ μμ΄λ λ€μν νλ©΄ ν¬κΈ°μ μ½ν μΈ μꡬ μ¬νμ μ μν μ μμ΅λλ€. μ μ°ν λ¨μμ λ―Έλμ΄ μΏΌλ¦¬μ κ°μ λ°μν κΈ°μ μ μ¬μ©νλ©΄ λ μ΄μμμ΄ νλ©΄μ λ§κ² μ‘°μ λμ΄ κ°μ μ μΌλ‘ μμλ₯Ό ν¨κ³Όμ μΌλ‘ μ€μΌμΌλ§ν©λλ€.
- νμ₯ κ°λ₯ν κ·Έλν½μ μν SVG: μμ΄μ½ λ° κΈ°ν λ²‘ν° κΈ°λ° κ·Έλν½μλ SVG(Scalable Vector Graphics)λ₯Ό μ¬μ©νμΈμ. SVG μ΄λ―Έμ§λ νμ§ μ ν μμ΄ μ€μΌμΌλ§λμ΄ μ΄λ€ ν¬κΈ°μμλ μ λͺ ν μκ°μ ν¨κ³Όλ₯Ό 보μ₯ν©λλ€.
μμ μ€μΌμΌλ§μ μν λͺ¨λ² μ¬λ‘
μμλ₯Ό μ€μΌμΌλ§ν λ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό μΌλμ λμΈμ:
- μ κ·Όμ± μ°μ : μ€μΌμΌλ§λ μμκ° λͺ¨λ μ¬μ©μμκ² μ κ·Ό κ°λ₯νμ§ νμΈνκΈ° μν΄ νμ μ€ν¬λ¦° 리λ λ° κΈ°ν 보쑰 κΈ°μ λ‘ ν μ€νΈνμΈμ. νμν κ²½μ° ARIA μμ±μ μ¬μ©νμ¬ μ€ν¬λ¦° 리λμ μΆκ°μ μΈ μ»¨ν μ€νΈλ₯Ό μ 곡νλ κ²μ κ³ λ €νμΈμ.
- λ€μν λΈλΌμ°μ μμ μ² μ ν ν
μ€νΈ:
transform: scale()
μ μ¬μ©νλλΌλ μΌκ΄λ κ²°κ³Όλ₯Ό 보μ₯νκΈ° μν΄ λ€μν λΈλΌμ°μ μ κΈ°κΈ°μμ μ€μΌμΌλ§ ꡬνμ ν μ€νΈνλ κ²μ΄ νμμ μ λλ€. - μλ λ¨μ μ¬μ©: κ°λ₯νλ©΄
em
,rem
, λ°±λΆμ¨κ³Ό κ°μ μλ λ¨μλ₯Ό μ¬μ©νμ¬ μ€μΌμΌλ§λ μμκ° λ€μν νλ©΄ ν¬κΈ°μ ν΄μλμ μ μνλλ‘ νμΈμ. - κ³Όλν μ€μΌμΌλ§ νΌνκΈ°: κ³Όλν μ€μΌμΌλ§μ μκ°μ μ곑과 μ±λ₯ λ¬Έμ λ₯Ό μ΄λν μ μμ΅λλ€. μ€μΌμΌλ§μ μ μ€νκ², νμν λλ§ μ¬μ©νμΈμ.
- μ±λ₯ κ³ λ €: μ€μΌμΌλ§μ νΉν 볡μ‘ν λ μ΄μμμμ κ³μ° μ§μ½μ μΈ μμ μ΄ λ μ μμ΅λλ€. μ±λ₯ μν₯μ μ΅μννλλ‘ μ€μΌμΌλ§ ꡬνμ μ΅μ ννμΈμ. κ°λ₯ν κ²½μ° νλμ¨μ΄ κ°μμ μ¬μ©νμΈμ.
- μ½λ λ¬Έμν: λ€λ₯Έ κ°λ°μ(μ μκΈ° μμ )κ° μ½λλ₯Ό μ΄ν΄νκ³ μ μ§ κ΄λ¦¬νκΈ° μ½λλ‘ CSS μ½λμ μ€μΌμΌλ§ μ λ΅μ λͺ ννκ² λ¬ΈμννμΈμ.
κΈλ‘λ² κ³ λ €μ¬ν
κΈλ‘λ² μ¬μ©μλ₯Ό μν΄ μμ μ€μΌμΌλ§μ ꡬνν λ λ€μ μμλ₯Ό κ³ λ €νλ κ²μ΄ μ€μν©λλ€:
- ν μ€νΈ λ λλ§: μΈμ΄λ§λ€ ν μ€νΈ λ λλ§ νΉμ±μ΄ λ€λ₯Ό μ μμ΅λλ€. μ€μΌμΌλ§λ ν μ€νΈκ° μ§μλλ λͺ¨λ μΈμ΄μμ μ¬λ°λ₯΄κ² λ λλ§λλμ§ νμΈνμΈμ. μ€ λμ΄μ κΈμ κ°κ²© μ°¨μ΄μ μ μνμΈμ.
- λ μ΄μμ λ°©ν₯: μλμ΄, νλΈλ¦¬μ΄μ κ°μ μΌλΆ μΈμ΄λ μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘ μλλ€. μ€μΌμΌλ§λ λ μ΄μμμ΄ λ€λ₯Έ λ μ΄μμ λ°©ν₯μ μ¬λ°λ₯΄κ² μ μνλμ§ νμΈνμΈμ. μ€λ₯Έμͺ½μμ μΌμͺ½ λ μ΄μμμ μ²λ¦¬νλ €λ©΄ CSSμμ
direction
μμ±μ μ¬μ©νμΈμ. - λ¬Ένμ λ―Όκ°μ±: μμλ₯Ό μ€μΌμΌλ§ν λ λ¬Ένμ μ°¨μ΄λ₯Ό μΌλμ λμΈμ. μλ₯Ό λ€μ΄, νΉμ μμμ΄λ κΈ°νΈλ λ€λ₯Έ λ¬Ένμμ λ€λ₯Έ μλ―Έλ₯Ό κ°μ§ μ μμ΅λλ€.
- λ²μ: μΉμ¬μ΄νΈλ μ ν리μΌμ΄μ μ΄ μ¬λ¬ μΈμ΄λ₯Ό μ§μνλ κ²½μ°, μ€μΌμΌλ§ ꡬνμ΄ λ²μλ μ½ν μΈ μ μ¬λ°λ₯΄κ² μλνλμ§ νμΈνμΈμ. μ€μΌμΌλ§λ ν μ€νΈλ λ²μ νμλ μ¬μ ν μ½κΈ° μ½κ³ μ¬λ°λ₯Έ ν¬κΈ°μ¬μΌ ν©λλ€.
- μ κ·Όμ± νμ€: μ μΈκ³ μ₯μ μΈ μ¬μ©μκ° μ€μΌμΌλ§λ μ½ν μΈ μ μ κ·Όν μ μλλ‘ WCAG(Web Content Accessibility Guidelines)μ κ°μ κ΅μ μ κ·Όμ± νμ€μ μ€μνμΈμ.
μΌλ°μ μΈ λ¬Έμ ν΄κ²°
λ€μμ CSS μ€μΌμΌλ§μ μ¬μ©ν λ λ°μν μ μλ λͺ κ°μ§ μΌλ°μ μΈ λ¬Έμ μ ν΄κ²° λ°©λ²μ λλ€:
- νλ¦Ών ν
μ€νΈ:
- λ¬Έμ : μ€μΌμΌλ§λ ν μ€νΈκ° νλ¦Ώνκ±°λ ν½μ νλμ΄ λ³΄μ λλ€.
- ν΄κ²°μ±
: μ€μΌμΌλ§μ΄ μΌμͺ½ μλ¨ λͺ¨μ리μμ μμλλλ‘
transform-origin: top left;
λ₯Ό μ¬μ©νμΈμ. λν νλμ¨μ΄ κ°μμ κ°μ νκΈ° μν΄ μ€μΌμΌλ§λλ μμμbackface-visibility: hidden;
μ μΆκ°ν΄ 보μΈμ. κ³Όλνκ² νλνλ κ²μ νΌνκ³ , κ°λ₯νλ€λ©΄ μ΄κΈ°μ μμλ₯Ό λ ν° ν¬κΈ°λ‘ λμμΈνμΈμ.
- λ μ΄μμ κ²ΉμΉ¨:
- λ¬Έμ : μ€μΌμΌλ§λ μμκ° νμ΄μ§μ λ€λ₯Έ μμμ κ²ΉμΉ©λλ€.
- ν΄κ²°μ± : μ€μΌμΌλ§λ μμλ₯Ό μμ©νκΈ° μν΄ μ£Όλ³ μμμ λ μ΄μμμ μ‘°μ νκ³ μλμ§ νμΈνμΈμ. μ μ°ν λ μ΄μμμ μν΄ flexboxλ grid λ μ΄μμμ μ¬μ©νμΈμ. μ¬λ°±(margin)κ³Ό μμͺ½ μ¬λ°±(padding)μ μ μνμΈμ.
- μ±λ₯ λ¬Έμ :
- λ¬Έμ : μ€μΌμΌλ§μ΄ λλ¦° λ λλ§μ΄λ μ§μ°κ³Ό κ°μ μ±λ₯ λ¬Έμ λ₯Ό μΌμΌν΅λλ€.
- ν΄κ²°μ±
: μ€μΌμΌλ§λλ μμμ μλ₯Ό μ€μ΄μΈμ. νλμ¨μ΄ κ°μ(μ:
transform: translateZ(0);
)μ μ¬μ©νμΈμ. μ±λ₯ λ³λͺ© νμμ μλ³νκΈ° μν΄ μ½λλ₯Ό νλ‘νμΌλ§νμΈμ. μ€μΌμΌλ§ ν¨κ³Όλ₯Ό λΆλ¦¬νκΈ° μν΄ CSS containmentλ₯Ό μ¬μ©νλ κ²μ κ³ λ €νμΈμ.
- λΈλΌμ°μ κ° μ€μΌμΌλ§ λΆμΌμΉ:
- λ¬Έμ : λΈλΌμ°μ λ§λ€ μ€μΌμΌλ§μ΄ λ€λ₯΄κ² 보μ λλ€.
- ν΄κ²°μ± : λΈλΌμ°μ κ° μ€νμΌμ μ κ·ννκΈ° μν΄ CSS 리μ μ μ¬μ©νμΈμ. λ€λ₯Έ λΈλΌμ°μ μμ μ² μ ν ν μ€νΈνκ³ μ½λλ₯Ό κ·Έμ λ§κ² μ‘°μ νμΈμ. νμν κ²½μ° λΈλΌμ°μ λ³ μ λμ¬(prefix)λ₯Ό μ¬μ©νλ κ²μ κ³ λ €νμΈμ(μ΅μ μΉ κ°λ°μμλ μΌλ°μ μΌλ‘ κΆμ₯λμ§ μμ).
κ²°λ‘
CSS zoom
μμ±μ΄ μμλ₯Ό μ€μΌμΌλ§νλ λΉ λ₯΄κ³ μ¬μ΄ λ°©λ²μ²λΌ λ³΄μΌ μ μμ§λ§, κ·Έ νκ³μ λΈλΌμ°μ νΈνμ± λ¬Έμ λ‘ μΈν΄ μ΅μ μΉ κ°λ°μμλ λ λ°λμ§ν μ΅μ
μ
λλ€. transform: scale()
μμ±μ λ κ²¬κ³ νκ³ μ λ’°ν μ μμΌλ©° μ μ°ν λμμ μ 곡ν©λλ€. μμ μ€μΌμΌλ§μ λ―Έλ¬ν μ°¨μ΄λ₯Ό μ΄ν΄νκ³ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄λ©΄ λ€μν κΈ°κΈ°μ λΈλΌμ°μ μμ νλ₯ν μ¬μ©μ κ²½νμ μ 곡νλ λ°μν λ° μ κ·Όμ± λμ μΉ μ ν리μΌμ΄μ
μ λ§λ€ μ μμ΅λλ€.
μ΅μ μ κ²°κ³Όλ₯Ό μν΄ μ κ·Όμ±μ μ°μ μνκ³ , μ² μ ν ν μ€νΈνλ©°, μλ λ¨μλ₯Ό μ¬μ©νλ κ²μ κΈ°μ΅νμΈμ. κΈλ‘λ² μμΈμ κ³ λ €νκ³ μΌλ°μ μΈ λ¬Έμ λ₯Ό ν΄κ²°ν¨μΌλ‘μ¨ μ€μΌμΌλ§ ꡬνμ΄ μ μΈκ³ μ¬μ©μλ₯Ό μν΄ ν¨κ³Όμ μΌλ‘ μλνλλ‘ λ³΄μ₯ν μ μμ΅λλ€.
μΆκ° νμ΅ μλ£
- MDN Web Docs: transform: scale()
- CSS Tricks: CSS Transforms
- μΉ μ½ν μΈ μ κ·Όμ± μ§μΉ¨ (WCAG): WCAG