CSS Containmentκ° μμλ₯Ό 격리νκ³ λ μ΄μμ μ€λμ±μ λ°©μ§νμ¬ μΉ μ±λ₯μ κ°μ νλ λ°©λ²μ μμ보μΈμ. μ΄λ₯Ό ν΅ν΄ λ λΉ λ₯΄κ³ λ°μμ±μ΄ λ°μ΄λ μΉμ¬μ΄νΈλ₯Ό λ§λ€ μ μμ΅λλ€.
CSS Containmentμ λ μ΄μμ μ€λμ±: μ±λ₯ λ³λͺ© νμ λ°©μ§
μΉ κ°λ°μ μΈκ³μμ μ΅μ μ μ±λ₯μ 보μ₯νλ κ²μ λ§€μ° μ€μν©λλ€. λλ¦¬κ² λ‘λ©λλ μΉμ¬μ΄νΈλ μ¬μ©μ λΆλ§, μ°Έμ¬λ κ°μ, κ·Έλ¦¬κ³ κΆκ·Ήμ μΌλ‘λ μμ΅ μμ€λ‘ μ΄μ΄μ§λλ€. κ°λ°μλ€μ΄ μ§λ©΄νλ κ°μ₯ μ€μν μ±λ₯ λ³λͺ© νμ μ€ νλλ λ μ΄μμ μ€λμ±μ λλ€. μ΄λ DOMμ΄λ CSSμ λ³κ²½μΌλ‘ μΈν΄ λΈλΌμ°μ κ° νμ΄μ§μ λ μ΄μμμ μ§μμ μΌλ‘ λ€μ κ³μ°ν λ λ°μνλ©°, μ¬κ°ν μ±λ₯ μ νλ₯Ό μ΄λν©λλ€. λ€ννλ, CSS Containmentλ λ μ΄μμ μ€λμ±μ λμ²νκ³ μΉ μ±λ₯μ κ·Ήμ μΌλ‘ ν₯μμν€λ κ°λ ₯ν λ©μ»€λμ¦μ μ 곡ν©λλ€. μ΄ λΈλ‘κ·Έ ν¬μ€νΈμμλ CSS Containmentμ κ°λ μ κΉμ΄ νκ³ λ€μ΄, λ€μν μ ν, μ€μ μ μ© μ¬λ‘, κ·Έλ¦¬κ³ μ΄κ²μ΄ μ¬λ¬λΆμ μΉ κ°λ° μν¬νλ‘μ°λ₯Ό μ΄λ»κ² νμ ν μ μλμ§ νꡬν©λλ€.
λ μ΄μμ μ€λμ±μ΄λ 무μμΈκ°?
CSS Containmentλ₯Ό μ΄ν΄λ³΄κΈ° μ μ, μ΄κ²μ΄ ν΄κ²°νλ €λ λ¬Έμ μΈ λ μ΄μμ μ€λμ±μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. λ μ΄μμ μ€λμ± λλ λ μ΄μμ μ¬κ³μ°μ λ³κ²½ μ¬νμ λμνμ¬ λΈλΌμ°μ κ° μ 체 νμ΄μ§ λλ κ·Έ μλΉ λΆλΆμ λ μ΄μμμ λ€μ κ³μ°ν΄μΌ ν λ λ°μν©λλ€. μ΄ μ¬κ³μ°μ νΉν μλ§μ μμμ μ€νμΌμ΄ μλ 볡μ‘ν νμ΄μ§μμ 리μμ€λ₯Ό λ§μ΄ μλͺ¨νλ νλ‘μΈμ€μ λλ€. μ΄λ¬ν λ³κ²½μ λ€μμ μν΄ μ λ°λ μ μμ΅λλ€:
- DOM μμ : λ¬Έμ κ°μ²΄ λͺ¨λΈ(Document Object Model)μμ μμλ₯Ό μΆκ°, μ κ±° λλ μμ νλ κ²½μ°.
- CSS λ³κ²½: λλΉ, λμ΄, ν¨λ©, λ§μ§, μμΉ λ± λ μ΄μμμ μν₯μ λ―ΈμΉλ CSS μμ±μ μ λ°μ΄νΈνλ κ²½μ°.
- JavaScript μ‘°μ: λ μ΄μμ μμ±(μ: element.offsetWidth)μ μ½κ±°λ μ°λ(μ: element.style.width = '100px') JavaScript μ½λ.
- μ λλ©μ΄μ λ° μ ν: μμ μμ±μ μ§μμ μΌλ‘ μμ νλ 볡μ‘ν μ λλ©μ΄μ λ° μ ν.
λ μ΄μμ μ€λμ±μ΄ μμ£Ό λ°μνλ©΄ μ¬μ©μ κ²½νμ μ¬κ°νκ² μ νμμΌ λλ¦° μνΈμμ©, λκΈ°λ μ λλ©μ΄μ λ° μ λ°μ μΌλ‘ λλ¦° νμ΄μ§ λ‘λ© μκ°μ μ΄λν μ μμ΅λλ€. μΌλ³Έ λμΏμ μ¬μ©μκ° μ μ μκ±°λ μ¬μ΄νΈλ₯Ό νμνλ €κ³ νλ€κ³ μμν΄ λ³΄μΈμ. λΉν¨μ¨μ μΈ λ μ΄μμ μ²λ¦¬λ‘ μΈν΄ μ¬μ΄νΈκ° μ§μμ μΌλ‘ λ€μ λ λλ§λλ€λ©΄, μ¬μ©μλ μ’μ§ μμ λΈλΌμ°μ§ κ²½νμ νκ² λ κ²μ λλ€. λμΌν λ¬Έμ λ λ΄μμλΆν° νΈμ£Ό μλλκΉμ§ μ μΈκ³ μ¬μ©μμκ² μν₯μ λ―ΈμΉ©λλ€.
CSS Containmentμ ν
CSS Containmentλ κ°λ°μκ° μΉ νμ΄μ§μ μΌλΆλ₯Ό λλ¨Έμ§ λΆλΆκ³Ό 격리ν μ μκ² ν΄μ£Όλ κ°λ ₯ν CSS μμ±μ λλ€. μμλ₯Ό 격리ν¨μΌλ‘μ¨, μ°λ¦¬λ λΈλΌμ°μ μ νΉμ μμμ λ 립μ μΈ λ¨μλ‘ μ²λ¦¬νλλ‘ μ§μν μ μμ΅λλ€. μ΄ κ²©λ¦¬λ ν΄λΉ λ¨μ λ΄μ λ³κ²½μ΄ κ·Έ μΈλΆμ μμμ λν λ μ΄μμ μ¬κ³μ°μ μ λ°νλ κ²μ λ°©μ§ν©λλ€. μ΄λ λ μ΄μμ μ€λμ±μ ν¬κ² μ€μ΄κ³ μ±λ₯μ ν₯μμν΅λλ€.
`contain` μμ±μ μ¬λ¬ κ°μ νμ©νλ©°, κ°κ° λ€λ₯Έ μμ€μ 격리λ₯Ό μ 곡ν©λλ€:
- `contain: none;` (κΈ°λ³Έκ°): κ²©λ¦¬κ° μ μ©λμ§ μμ΅λλ€.
- `contain: strict;`: κ°λ₯ν λͺ¨λ μ νμ 격리λ₯Ό μ μ©ν©λλ€. μμλ μμ ν λ 립μ μ΄ λμ΄, κ·Έ μμμ΄ ν¬κΈ°λ λ μ΄μμμ μν₯μ λ―ΈμΉμ§ μμΌλ©°, μΈλΆμ μ΄λ€ κ²μλ μν₯μ μ£Όμ§ μμμ μλ―Έν©λλ€. μ΄κ²μ μ’ μ’ κ°μ₯ μ±λ₯μ΄ μ’μ μ΅μ μ΄μ§λ§ λ λλ§ λμμ λ³κ²½ν μ μμΌλ―λ‘ μ μ€ν κ³ λ €κ° νμν©λλ€.
- `contain: content;`: μ½ν μΈ λ§ κ²©λ¦¬νλ©°, μ΄λ μμκ° ν¬κΈ°λ λ μ΄μμμ μΈλΆμ μΈ μν₯μ λ―ΈμΉμ§ μκ³ , μΈλΆμ μ΄λ€ κ²μλ μν₯μ μ£Όμ§ μμμ μλ―Έν©λλ€. μμμ μμλ§ λ λλ§λλ κ²μΌλ‘ κ°μ£Όλ©λλ€.
- `contain: size;`: μμμ ν¬κΈ°λ μ½ν μΈ μ λ 립μ μ λλ€. μ΄λ μμμ μ½ν μΈ λ₯Ό λ λλ§νμ§ μκ³ λ ν¬κΈ°λ₯Ό κ²°μ ν μ μμ λ μ μ©ν©λλ€.
- `contain: layout;`: μμμ λ μ΄μμμ΄ κ²©λ¦¬λ©λλ€. μ΄λ μμ λ΄μ λ³κ²½μ΄ μΈλΆ λ μ΄μμμ μν₯μ λ―ΈμΉλ κ²μ λ°©μ§ν©λλ€. μ΄κ²μ λ μ΄μμ μ€λμ± λ°©μ§μ κ°μ₯ κ΄λ ¨μ΄ κΉμ΅λλ€.
- `contain: style;`: μμμ μ€νμΌμ΄ 격리λ©λλ€. μ΄λ μμ λ΄μ μ€νμΌ λ³κ²½μ΄ μΈλΆ μμμ μν₯μ λ―ΈμΉλ κ²μ λ°©μ§ν©λλ€. μ΄λ μ€νμΌ μμκ³Ό κ΄λ ¨λ μ±λ₯ λ¬Έμ λ₯Ό μλ°©νλ λ° μ μ©ν©λλ€.
- `contain: paint;`: μμμ νμΈν μ΄ κ²©λ¦¬λ©λλ€. μ΄λ 볡μ‘ν μμλ μ λλ©μ΄μ μ΄ μλ μμλ₯Ό λ€λ£° λ νμΈν μ±λ₯μ μ΅μ ννλ λ° μ μ©ν©λλ€.
- `contain: content size layout style paint;`: μ΄κ²μ `contain: strict;`μ λμΌν©λλ€.
μ€μ©μ μΈ μμ λ° μ¬μ© μ¬λ‘
CSS Containmentλ₯Ό νμ©νμ¬ μΉ μ±λ₯μ κ°μ νλ λͺ κ°μ§ μ€μ©μ μΈ μμλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. λ€μ μλ리μ€λ₯Ό κ³ λ €ν΄ λ³΄μΈμ:
1. 격리λ μ¬μ΄λλ°
λ΄λΉκ²μ΄μ λ§ν¬, κ΄κ³ , μ¬μ©μ νλ‘ν μ 보 λ± λ€μν μμκ° ν¬ν¨λ μ¬μ΄λλ°κ° μλ μΉμ¬μ΄νΈλ₯Ό μμν΄ λ³΄μΈμ. μ¬μ΄λλ° λ΄μ μ½ν μΈ κ° μμ£Ό μ λ°μ΄νΈλλ©΄(μ: μ κ΄κ³ λ°°λκ° λ‘λλ¨) λ μ΄μμ μ¬κ³μ°μ΄ λ°μνμ¬ μ μ¬μ μΌλ‘ μ 체 νμ΄μ§μ μν₯μ λ―ΈμΉ μ μμ΅λλ€. μ΄λ₯Ό λ°©μ§νλ €λ©΄ μ¬μ΄λλ° μμμ `contain: layout`μ μ μ©νμΈμ:
.sidebar {
contain: layout;
/* Other sidebar styles */
}
`contain: layout`μ μ¬μ©νλ©΄ μ¬μ΄λλ° λ΄μ λ³κ²½ μ¬νμ΄ νμ΄μ§μ λλ¨Έμ§ λΆλΆμ λν λ μ΄μμ μ¬κ³μ°μ μ λ°νμ§ μμΌλ―λ‘ λ λΆλλ¬μ΄ μνΈμμ©μ΄ κ°λ₯ν΄μ§λλ€. μ΄λ λ΄μ€ μΉμ¬μ΄νΈλ μμ λ―Έλμ΄ νλ«νΌκ³Ό κ°μ΄ λμ μ½ν μΈ κ° λ§μ μΉμ¬μ΄νΈμ νΉν μ μ©ν©λλ€. μΈλ λλ°μ΄μ μ¬μ©μκ° μ¬μ΄λλ° λ΄μ κ΄κ³ κ° μ λ°μ΄νΈλ λ, μ£Ό μ½ν μΈ μμμ μν₯μ λ°μ§ μμ΅λλ€.
2. λ 립μ μΈ μΉ΄λ μ»΄ν¬λνΈ
κ°κ° μ ν, λΈλ‘κ·Έ κ²μλ¬Ό λλ κΈ°ν μ½ν μΈ λ₯Ό λνλ΄λ μΉ΄λ 그리λλ₯Ό νμνλ μΉμ¬μ΄νΈλ₯Ό μκ°ν΄ 보μΈμ. ν μΉ΄λμ λ΄μ©μ΄ λ³κ²½λλ©΄(μ: μ΄λ―Έμ§κ° λ‘λλκ±°λ ν μ€νΈκ° μ λ°μ΄νΈλ¨) μ΄λ‘ μΈν΄ λ€λ₯Έ λͺ¨λ μΉ΄λμ λ μ΄μμ μ¬κ³μ°μ΄ λ°μνμ§ μλλ‘ ν΄μΌ ν©λλ€. κ° μΉ΄λμ `contain: layout` λλ `contain: strict`λ₯Ό μ μ©νμΈμ:
.card {
contain: layout;
/* or contain: strict; */
/* Other card styles */
}
μ΄λ κ² νλ©΄ κ° μΉ΄λκ° λ 립μ μΈ λ¨μλ‘ λμνμ¬ νΉν μλ§μ μμλ₯Ό λ€λ£° λ λ λλ§ μ±λ₯μ΄ ν₯μλ©λλ€. μ΄ μ¬μ© μ¬λ‘λ μ μΈκ³ μ μ μκ±°λ νλ«νΌμ μ μ©νλ©°, μκ΅ λ°λμ΄λ λΈλΌμ§ μνμΈλ£¨μ μ¬μ©μμκ² μν₯μ λ―ΈμΉ©λλ€.
3. μ½ν μΈ κ°μμ± λ° λμ μ½ν μΈ μ λ°μ΄νΈ
λ§μ μΉμ¬μ΄νΈκ° ν μΈν°νμ΄μ€μ κ°μ΄ μ½ν μΈ λ₯Ό λμ μΌλ‘ μ¨κΈ°κ±°λ νμνλ κΈ°μ μ νμ©ν©λλ€. μ½ν μΈ κ°μμ±μ΄ λ³κ²½λ λ λ μ΄μμμ΄ μν₯μ λ°μ μ μμ΅λλ€. `contain: layout`μ μ μ©νλ©΄ μ΄λ¬ν μλ리μ€μμ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€:
.tab-content {
contain: layout;
/* Other tab content styles */
display: none; /* or visibility: hidden; */
}
.tab-content.active {
display: block; /* or visibility: visible; */
}
νμ± ν μ½ν μΈ κ° λ³κ²½λ λ, λ μ΄μμ μ¬κ³μ°μ λ€λ₯Έ νμ μν₯μ μ£Όμ§ μκ³ `tab-content` μμμ κ΅νλ©λλ€. μ΄ κ°μ μ¬νμ μ€κ΅ μνμ΄λ μΊλλ€ ν λ‘ ν μ κ°μ λμμ κ΅μ μ¬μ©μμκ² λμ λκ² λνλ κ²μ΄λ©°, μ΄λ€μ μ’ μ’ λμ μΌλ‘ μ λ°μ΄νΈλλ μ½ν μΈ λ₯Ό νμν μ μμ΅λλ€.
4. μ λλ©μ΄μ μμ μ΅μ ν
μ λλ©μ΄μ μ νΉν 볡μ‘ν μμλ₯Ό μ λλ©μ΄μ νν λ μ±λ₯μ λ§μ΄ μλͺ¨ν μ μμ΅λλ€. μ λλ©μ΄μ μμμ `contain: paint`λ₯Ό μ μ©νλ©΄ νμΈν μμ μ 격리νμ¬ λ λλ§ μ±λ₯μ ν₯μμν€λ λ° λμμ΄ λ©λλ€. νμ νλ λ‘λ© μ€νΌλλ₯Ό μκ°ν΄ 보μΈμ:
.spinner {
contain: paint;
/* Other spinner styles */
animation: rotate 1s linear infinite;
}
`contain: paint` μμ±μ μ λλ©μ΄μ μ 리νμΈνΈκ° μ£Όλ³ μμκ° μλ μ€νΌλ μ체μλ§ μν₯μ λ―ΈμΉλλ‘ λ³΄μ₯ν©λλ€. μ΄λ μ±λ₯μ ν₯μμν€κ³ μ μ¬μ μΈ λ²λ² μ(jank)μ λ°©μ§ν©λλ€. μ΄λ μν리카 μΌλΆ μ§μκ³Ό κ°μ΄ μΈν°λ· μ°κ²°μ΄ λΆμμ ν μ μλ κ΅κ°μ μ¬μ©μ κ²½νμ μλΉν ν₯μμ κ°μ Έμ¬ μ μμ΅λλ€.
5. μλνν° μμ ― ν΅ν©
μλνν° μμ ―(μ: μμ λ―Έλμ΄ νΌλ, μ§λ)μ μ’ μ’ μ체 μ€ν¬λ¦½νΈμ μ€νμΌμ λλ°νμ¬ μΉμ¬μ΄νΈ μ±λ₯μ μν₯μ μ€ μ μμ΅λλ€. μμ ― 컨ν μ΄λμ containmentλ₯Ό μ μ©νλ©΄ κ·Έ λμμ 격리νλ λ° λμμ΄ λ©λλ€. λ€μμ κ³ λ €ν΄ λ³΄μΈμ:
.widget-container {
contain: layout;
/* Other widget container styles */
}
μ΄λ κ² νλ©΄ μμ ―μ μ½ν μΈ λ‘ μΈν΄ λ°μνλ μκΈ°μΉ μμ λ μ΄μμ μ¬κ³μ°μ λ°©μ§ν μ μμ΅λλ€. μ΄ μ΄μ μ μ¬μ©μκ° λ μΌ λ² λ₯Όλ¦°μ μλ μλ₯΄ν¨ν°λ λΆμλ Έμ€μμ΄λ μ€μ μλ μ μΈκ³μ μΌλ‘ λμΌνκ² μ μ©λλ©°, μμ ―μ νμ΄μ§μ λ€λ₯Έ μΉμ μ μ±λ₯ λ¬Έμ λ₯Ό μΌμΌν€μ§ μμ΅λλ€.
λͺ¨λ² μ¬λ‘ λ° κ³ λ € μ¬ν
CSS Containmentλ μλΉν μ±λ₯ μ΄μ μ μ 곡νμ§λ§, μ λ΅μ μΌλ‘ μ μ©νλ κ²μ΄ μ€μν©λλ€. λ€μμ λͺ κ°μ§ λͺ¨λ² μ¬λ‘ λ° κ³ λ € μ¬νμ λλ€:
- μΉμ¬μ΄νΈ λΆμ: containmentμ μ μ©νκΈ° μ μ, μΉμ¬μ΄νΈμμ λ μ΄μμ μ€λμ±μ΄ λ°μνκΈ° μ¬μ΄ μμμ μλ³νμΈμ. λΈλΌμ°μ κ°λ°μ λꡬ(μ: Chrome DevTools)λ₯Ό μ¬μ©νμ¬ λ λλ§ μ±λ₯μ λΆμνκ³ μ±λ₯ λ³λͺ© νμμ νμ νμΈμ.
- `contain: layout`μΌλ‘ μμνκΈ°: λ§μ κ²½μ°, `contain: layout`λ§μΌλ‘λ λ μ΄μμ μ€λμ± λ¬Έμ λ₯Ό ν΄κ²°νκΈ°μ μΆ©λΆν©λλ€.
- μ μ ν λ `contain: strict` κ³ λ €νκΈ°: `contain: strict`λ κ°μ₯ κ°λ ₯ν 격리λ₯Ό μ 곡νμ§λ§, λλλ‘ μμμ λ λλ§ λμμ λ³κ²½ν μ μμ΅λλ€. μ μ€νκ² μ¬μ©νκ³ νΈνμ±μ 보μ₯νκΈ° μν΄ μ² μ ν ν μ€νΈνμΈμ. μ΄λ `contain: strict`κ° ν¬κΈ°λ₯Ό μ¬μ μν μ μμΌλ―λ‘ μ½ν μΈ ν¬κΈ°μ ν¬κ² μμ‘΄νλ μμμ νΉν ν΄λΉλ©λλ€.
- μ² μ ν ν μ€νΈνκΈ°: containmentμ μ μ©ν ν, λ³κ²½ μ¬νμ΄ μνλ ν¨κ³Όλ₯Ό λ΄κ³ μκΈ°μΉ μμ λ λλ§ λ¬Έμ λ₯Ό μΌμΌν€μ§ μμλμ§ νμΈνκΈ° μν΄ λ€μν λΈλΌμ°μ μ κΈ°κΈ°μμ μΉμ¬μ΄νΈλ₯Ό μ² μ ν ν μ€νΈνμΈμ. λ λ§μ μ μ¬μ λ¬Έμ λ₯Ό λ€λ£¨κΈ° μν΄ λ€λ₯Έ κ΅κ°μμλ ν μ€νΈνμΈμ.
- κ³Όμ© νΌνκΈ°: 무λΆλ³νκ² containmentμ μ μ©νμ§ λ§μΈμ. κ³Όμ©μ λΆνμν 격리μ μ μ¬μ μΈ λ λλ§ λ¬Έμ λ‘ μ΄μ΄μ§ μ μμ΅λλ€. νμν κ³³μλ§ containmentμ μ¬μ©νμΈμ.
- μ½ν μΈ κ°μμ± μ΄ν΄νκΈ°: `contain: layout`κ³Ό μνΈ μμ©νλ μ½ν μΈ κ°μμ±μ μ μνμΈμ. `contain: layout`μ μ¬μ©νλ λμ μμλ₯Ό `display: none` λλ `visibility: hidden`μΌλ‘ μ€μ νλ©΄ μμμ λ λλ§μ μκΈ°μΉ μμ λ°©μμΌλ‘ μν₯μ λ―ΈμΉ μ μμ΅λλ€.
- μ¬λ°λ₯Έ λ¨μ μ¬μ©: `contain: size` μμ λ΄λΆμ μμ ν¬κΈ°λ₯Ό μ§μ ν λ, νΉν κ³ μ ν¬κΈ° 컨ν μ΄λλ₯Ό μ¬μ©νλ κ²½μ° λ μμΈ‘ κ°λ₯νκ² μλνλλ‘ μλ λ¨μ(μ: λ°±λΆμ¨, em, rem)λ₯Ό μ¬μ©νμΈμ.
- μ±λ₯ λͺ¨λν°λ§: containmentμ ꡬνν ν, λ³κ²½ μ¬νμ΄ μ±λ₯μ κ°μ νκ³ νκ·(regression)λ₯Ό μΌμΌν€μ§ μμλμ§ νμΈνκΈ° μν΄ μΉμ¬μ΄νΈμ μ±λ₯μ κ³μ λͺ¨λν°λ§νμΈμ.
λꡬ λ° λ¦¬μμ€
CSS Containmentλ₯Ό ν¨κ³Όμ μΌλ‘ μ΄ν΄νκ³ κ΅¬ννλ λ° λμμ΄ λλ λͺ κ°μ§ λꡬμ 리μμ€κ° μμ΅λλ€:
- λΈλΌμ°μ κ°λ°μ λꡬ: λΈλΌμ°μ μ κ°λ°μ λꡬ(μ: Chrome DevTools, Firefox Developer Tools)λ₯Ό μ¬μ©νμ¬ λ λλ§ μ±λ₯μ λΆμνκ³ λ μ΄μμ μ€λμ± λ¬Έμ λ₯Ό μλ³νμΈμ. λꡬμλ μ±λ₯, λ μ΄μμ λ° νμΈνΈ νλ‘νμΌλ¬κ° ν¬ν¨λ©λλ€.
- Web.dev: web.dev νλ«νΌμ CSS Containmentμ λν μμΈν μ 보λ₯Ό ν¬ν¨νμ¬ μΉ μ±λ₯ μ΅μ νμ λν ν¬κ΄μ μΈ μ 보μ νν 리μΌμ μ 곡ν©λλ€.
- MDN μΉ λ¬Έμ: λͺ¨μ§λΌ κ°λ°μ λ€νΈμν¬(MDN)λ CSS `contain` μμ±κ³Ό κ·Έ λ€μν κ°μ λν μμΈν λ¬Έμλ₯Ό μ 곡ν©λλ€.
- μ¨λΌμΈ μ±λ₯ κ²μ¬κΈ°: WebPageTestμ κ°μ λꡬλ μΉμ¬μ΄νΈμ μ±λ₯μ νκ°νκ³ λΆμνλ λ° λμμ μ£Όμ΄ μ΅μ νκ° νμν μμμ λ μ½κ² μλ³ν μ μκ² ν΄μ€λλ€.
κ²°λ‘ : λ λΉ λ₯Έ μΉμ μν΄ Containmentλ₯Ό μμ©νμΈμ
CSS Containmentλ μΉμ¬μ΄νΈ μ±λ₯μ μ΅μ ννκ³ λ μ΄μμ μ€λμ±μ λ°©μ§νκ³ μ νλ μΉ κ°λ°μμκ² κ°λ ₯ν λꡬμ λλ€. λ€μν μ νμ containmentλ₯Ό μ΄ν΄νκ³ μ λ΅μ μΌλ‘ μ μ©ν¨μΌλ‘μ¨, μ¬μ©μλ₯Ό μν΄ λ λΉ λ₯΄κ³ , λ λ°μμ±μ΄ μ’μΌλ©°, λ λ§€λ ₯μ μΈ μΉ κ²½νμ λ§λ€ μ μμ΅λλ€. μ΄ν리μ λ‘λ§μ κ°μ λμμ μ¬μ©μλ₯Ό μν λμ μ½ν μΈ μ λ°μ΄νΈ μ±λ₯ ν₯μλΆν° μΌλ³Έ λμΏμμμ μ λλ©μ΄μ μ΅μ νκΉμ§, CSS containmentλ μ¬μ©μ κ²½ν μ νλ₯Ό μ€μ΄λ λ° λμμ΄ λ©λλ€. μΉμ¬μ΄νΈλ₯Ό λΆμνκ³ , μ μ€νκ² containmentμ μ μ©νλ©°, μ΄ κ·μ€ν CSS μμ±μ λͺ¨λ μ΄μ μ λ리기 μν΄ μ² μ ν ν μ€νΈνλ κ²μ μμ§ λ§μΈμ. CSS Containmentλ₯Ό μμ©νκ³ μΉμ¬μ΄νΈμ μ±λ₯μ ν λ¨κ³ λμ΄μ¬λ¦¬μΈμ!