CSS 컨ν μ΄λ μΏΌλ¦¬λ‘ μ΅κ³ μ μ±λ₯μ ꡬννμΈμ! λͺ¨λ μ₯μΉμμ λ λΉ λ₯΄κ³ λΆλλ¬μ΄ μΉ κ²½νμ μν΄ μΏΌλ¦¬ μ²λ¦¬ λͺ¨λν°λ§, λΆμ λ° μ΅μ ν λ°©λ²μ μμ보μΈμ.
CSS 컨ν μ΄λ 쿼리 μ±λ₯ λͺ¨λν°: 쿼리 μ²λ¦¬ λΆμ
컨ν μ΄λ 쿼리λ λ·°ν¬νΈκ° μλ ν¬ν¨νλ μμμ ν¬κΈ°μ λ°λΌ κ΅¬μ± μμκ° μ€νμΌμ μ‘°μ ν μ μλλ‘ νμ¬ λ°μν μΉ λμμΈμ νλͺ μ μΌμΌν€κ³ μμ΅λλ€. μ΄λ μ λ‘ μλ μ μ°μ±κ³Ό μ μ΄λ ₯μ μ 곡ν©λλ€. κ·Έλ¬λ λͺ¨λ κ°λ ₯ν λꡬμ λ§μ°¬κ°μ§λ‘ μ±λ₯μ μ΄ν΄νκ³ μ΅μ ννλ κ²μ΄ μ€μν©λλ€. μ΄ κΈμμλ CSS 컨ν μ΄λ 쿼리μ μ±λ₯μ λͺ¨λν°λ§νκ³ λΆμνμ¬ λͺ¨λ μ₯μΉ λ° νλ©΄ ν¬κΈ°μμ μννκ³ ν¨μ¨μ μΈ μ¬μ©μ κ²½νμ 보μ₯νλ λ°©λ²μ μ΄ν΄λ΄ λλ€.
컨ν μ΄λ 쿼리 μ±λ₯μ λͺ¨λν°λ§ν΄μΌ νλ μ΄μ
컨ν μ΄λ 쿼리λ μ μν λ° μ¬μ¬μ© κ°λ₯ν κ΅¬μ± μμλ₯Ό μμ±νλ λ° μλΉν μ΄μ μ μ 곡νμ§λ§, μλͺ» ꡬνλκ±°λ μ§λμΉκ² 볡μ‘ν 쿼리λ μΉμ¬μ΄νΈ μ±λ₯μ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€. λͺ¨λν°λ§μ΄ νμμ μΈ μ΄μ λ λ€μκ³Ό κ°μ΅λλ€:
- λ μ΄μμ μ΄λ λ°©μ§: λΉν¨μ¨μ μΈ μΏΌλ¦¬λ λ μ΄μμ μ¬κ³μ°μ μ λ°νμ¬ μ¬μ©μ κ²½νμ μν₯μ λ―ΈμΉλ ν΅μ¬ μΉ λ°μ΄νμΈ λμ λ μ΄μμ λ³κ²½(CLS)μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€. μκΈ°μΉ μμ λ μ΄μμ μ΄λμ κ²ͺλ μ¬μ©μλ μ’μ κ°μ λλΌκ³ μΈμ μ μ€λ¨ν μ μμ΅λλ€.
- λ λλ§ μκ° λ¨μΆ: νΉν μ€μ²©λ 컨ν μ΄λμ 볡μ‘ν κ³μ°μ ν¬ν¨νλ 볡μ‘ν 쿼리λ λ λλ§ μκ°μ μ¦κ°μμΌ νμ΄μ§ λ‘λ μλμ μλ΅μ±μ μ νμν¬ μ μμ΅λλ€. μμ ―μ λ μ΄μμμ λμ μΌλ‘ μ‘°μ νκΈ° μν΄ λ§μ 컨ν μ΄λ 쿼리λ₯Ό μ¬μ©νλ 볡μ‘ν λμ보λ μ ν리μΌμ΄μ μ κ³ λ €ν΄ λ³΄μμμ€. μ΄λ¬ν μΏΌλ¦¬κ° μ΅μ νλμ§ μμΌλ©΄ μ΄κΈ° λ λλ§ μκ°μ μλΉν μν₯μ λ―ΈμΉ μ μμ΅λλ€.
- λͺ¨λ°μΌ μ±λ₯ ν₯μ: λͺ¨λ°μΌ μ₯μΉλ λ°μ€ν¬ν±μ λΉν΄ μ²λ¦¬ λ₯λ ₯μ΄ μ νμ μ λλ€. μ΅μ νλμ§ μμ 컨ν μ΄λ 쿼리λ λͺ¨λ°μΌ μ±λ₯μ λΆκ· νμ μΌλ‘ μν₯μ λ―Έμ³ λλ¦¬κ³ λ΅λ΅ν λͺ¨λ°μΌ κ²½νμ μ΄λν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ¬μ§ μΉμ¬μ΄νΈλ μ¬μ© κ°λ₯ν 곡κ°μ λ°λΌ λ€μν ν¬κΈ°μ μ΄λ―Έμ§ λ²μ μ νμνκΈ° μν΄ μ»¨ν μ΄λ 쿼리λ₯Ό μ¬μ©ν μ μμ΅λλ€. μλͺ» μμ±λ 쿼리λ μ΄λ―Έμ§ κ°€λ¬λ¦¬λ₯Ό μ€ν¬λ‘€νλ λμ μ§μ°μ μ λ°ν μ μμ΅λλ€.
- 리μμ€ μ¬μ©λ μ΅μ ν: λΉν¨μ¨μ μΈ μΏΌλ¦¬λ λ λ§μ λΈλΌμ°μ 리μμ€λ₯Ό μλΉνμ¬ νΉν λͺ¨λ°μΌ μ₯μΉμμ CPU μ¬μ©λκ³Ό λ°°ν°λ¦¬ μλͺ¨λ₯Ό μ¦κ°μν΅λλ€.
- μ±λ₯ λ³λͺ© νμ μλ³: λͺ¨λν°λ§μ μ±λ₯ λ¬Έμ λ₯Ό μΌμΌν€λ νΉμ 컨ν μ΄λ 쿼리λ₯Ό μ νν μ°Ύμλ΄ κ°λ°μκ° μ΅μ ν λ Έλ ₯μ ν¨κ³Όμ μΌλ‘ μ§μ€ν μ μλλ‘ λμ΅λλ€.
컨ν μ΄λ 쿼리 μ±λ₯ λͺ¨λν°λ§ λꡬ
컨ν μ΄λ 쿼리 μ±λ₯μ λͺ¨λν°λ§νκ³ λΆμνλ λ° μ¬λ¬ λꡬμ κΈ°μ μ μ¬μ©ν μ μμ΅λλ€:
1. λΈλΌμ°μ κ°λ°μ λꡬ
μ΅μ λΈλΌμ°μ κ°λ°μ λꡬλ μΉμ¬μ΄νΈ μ±λ₯μ λν ν¬κ΄μ μΈ ν΅μ°°λ ₯μ μ 곡ν©λλ€. 컨ν μ΄λ 쿼리μ μ΄λ₯Ό μ¬μ©νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- μ±λ₯ ν (Chrome, Firefox, Edge): μ±λ₯ νμ μ¬μ©νλ©΄ λ λλ§ νλ‘μΈμ€λ₯Ό κΈ°λ‘νκ³ λΆμν μ μμ΅λλ€. κΈ΄ λ λλ§ μκ°, κ³Όλν λ μ΄μμ μ¬κ³μ° λ° μ»¨ν μ΄λ 쿼리μ κ΄λ ¨λ μ€ν¬λ¦½νΈ μ€ν μκ°μ μ°ΎμΌμΈμ. μ΄λ₯Ό μ¬μ©νλ €λ©΄ μΉμ¬μ΄νΈλ₯Ό μ΄κ³ , κ°λ°μ λꡬλ₯Ό μ° λ€μ, "Performance" νμΌλ‘ μ΄λνμ¬ "Record"λ₯Ό ν΄λ¦ν©λλ€. μΉμ¬μ΄νΈμ μνΈ μμ©ν©λλ€. κΈ°λ‘μ μ€μ§ν λ€μ, νμΌ κ·Έλνλ₯Ό λΆμνμ¬ μ»¨ν μ΄λ 쿼리μ κ΄λ ¨λ μ±λ₯ λ³λͺ© νμμ μλ³ν©λλ€.
- λ λλ§ ν (Chrome): λ λλ§ νμ λ μ΄μμ μ΄λ μμ κ°μ‘° νμμ κ°μ κΈ°λ₯μ μ 곡νμ¬ μ»¨ν μ΄λ μΏΌλ¦¬κ° λ μ΄μμ λΆμμ μ±μ μ λ°νλ μμμ μλ³νλ λ° λμμ΄ λ μ μμ΅λλ€. λν μ±λ₯μ΄ μ’μ§ μμ 컨ν μ΄λ 쿼리μ μν΄ νΈλ¦¬κ±°λ μ μλ μ μ¬μ μΈ λ€μ 그리기 μμμ κ°μ‘° νμν μ μμ΅λλ€.
- Lighthouse (Chrome, PageSpeed Insights): Lighthouseλ CSS λ° λ μ΄μμκ³Ό κ΄λ ¨λ μ μ¬μ μΈ μ±λ₯ λ¬Έμ λ₯Ό μλ³νλ κ²μ ν¬ν¨νμ¬ μΉμ¬μ΄νΈ μ±λ₯ ν₯μμ μν μλνλ κ°μ¬ λ° κΆμ₯ μ¬νμ μ 곡ν©λλ€. Lighthouseλ‘ κ΅¬λλλ PageSpeed Insightsλ₯Ό μ¬μ©νλ©΄ λͺ¨λ κ³΅κ° URLμ μ±λ₯μ ν μ€νΈν μ μμ΅λλ€.
- μμ κ²μ¬κΈ°: μμ κ²μ¬κΈ°λ₯Ό μ¬μ©νμ¬ μ»¨ν μ΄λ μΏΌλ¦¬κ° μ μ©ν μ€νμΌμ κ²μ¬νκ³ μ¬λ°λ₯΄κ² μ μ©λκ³ μλμ§ νμΈν©λλ€. μ΄λ μ±λ₯ λ¬Έμ μ κΈ°μ¬ν μ μλ μμμΉ λͺ»ν λμμ΄λ μΆ©λμ μλ³νλ λ° λμμ΄ λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ μμμ λν΄ μ΄λ€ 컨ν μ΄λ 쿼리 μ€λ¨μ μ΄ νΈλ¦¬κ±°λλμ§ νμΈνλ λ° μ¬μ©ν μ μμ΅λλ€.
2. μΉ λ°μ΄ν νμ₯ νλ‘κ·Έλ¨
μΉ λ°μ΄ν νμ₯ νλ‘κ·Έλ¨μ Largest Contentful Paint (LCP), First Input Delay (FID), Cumulative Layout Shift (CLS)μ κ°μ μ£Όμ μ±λ₯ μ§νμ λν μ€μκ° νΌλλ°±μ μ 곡ν©λλ€. μ΄ νμ₯ νλ‘κ·Έλ¨μ 컨ν μ΄λ μΏΌλ¦¬κ° μ΄λ¬ν μ§νμ λΆμ μ μΈ μν₯μ λ―ΈμΉλμ§ λΉ λ₯΄κ² μλ³νλ λ° λμμ΄ λ μ μμ΅λλ€. μ΄λ λΈλΌμ°μ μ μ§μ μ€μΉν μ μμ΅λλ€(μ: Chrome μΉ λ°μ΄ν νμ₯ νλ‘κ·Έλ¨).
3. μ€μ μ¬μ©μ λͺ¨λν°λ§ (RUM)
RUMμ μ€μ μ¬μ©μλ‘λΆν° μ€μ μ±λ₯ λ°μ΄ν°λ₯Ό μ 곡νμ¬ ν μ€νΈ μ€μλ λͺ ννμ§ μμ μ μλ μ±λ₯ λ¬Έμ λ₯Ό μλ³ν μ μμ΅λλ€. RUM λꡬλ νμ΄μ§ λ‘λ μκ°, λ λλ§ μκ° λ° μ¬μ©μ μνΈ μμ© μ§μ°κ³Ό κ°μ μ§νλ₯Ό μΊ‘μ²νμ¬ μ¬μ©μ κ²½νμ λν λ μ νν κ·Έλ¦Όμ μ 곡ν©λλ€. RUM λꡬμ μλ‘λ New Relic, Datadog λ° Google Analytics(μ±λ₯ μΆμ νμ±ν μ)κ° μμ΅λλ€. RUM λ°μ΄ν°λ νΉμ μ§λ¦¬μ μ§μμ μ¬μ©μ λλ νΉμ μ₯μΉλ₯Ό μ¬μ©νλ μ¬μ©μκ° μ»¨ν μ΄λ 쿼리μ κ΄λ ¨λ μ±λ₯ λ¬Έμ λ₯Ό κ²ͺκ³ μλμ§ λ°νλΌ μ μμ΅λλ€.
4. λ§μΆ€ν μ±λ₯ λͺ¨λν°λ§
λ μΈλΆνλ μ μ΄λ₯Ό μν΄ JavaScriptμ performance APIλ₯Ό μ¬μ©νμ¬ λ§μΆ€ν μ±λ₯ λͺ¨λν°λ§μ ꡬνν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ 컨ν
μ΄λ 쿼리μ κ΄λ ¨λ νΉμ μ½λ λΈλ‘μ μ€ν μκ°μ μΈ‘μ νμ¬ μ±λ₯μ λν μμΈν ν΅μ°°λ ₯μ μ»μ μ μμ΅λλ€. μλ₯Ό λ€μ΄, performance.mark() λ° performance.measure()λ₯Ό μ¬μ©νμ¬ μ»¨ν
μ΄λ 쿼리 μ€λ¨μ μ΄ νΈλ¦¬κ±°λ ν κ΅¬μ± μμκ° λ€μ λ λλ§λλ λ° κ±Έλ¦¬λ μκ°μ μΆμ ν μ μμ΅λλ€.
쿼리 μ²λ¦¬ λΆμ
μ±λ₯ λ°μ΄ν°λ₯Ό ν보νλ€λ©΄, μ±λ₯ λ¬Έμ μ κ·Όλ³Έ μμΈμ μλ³νκΈ° μν΄ λΆμν΄μΌ ν©λλ€. 쿼리 μ²λ¦¬μ λ€μ μΈ‘λ©΄μ κ³ λ €νμμμ€:
1. 쿼리 볡μ‘μ±
λ§μ 쑰건과 μ€μ²©λ μ νμλ₯Ό κ°μ§ 볡μ‘ν 쿼리λ μ²λ¦¬ μκ°μ μλΉν μ¦κ°μν¬ μ μμ΅λλ€. κ°λ₯ν κ²½μ° μΏΌλ¦¬λ₯Ό λ¨μννκ³ μ§λμΉκ² ꡬ체μ μΈ μ νμλ₯Ό νΌνμμμ€. μλ₯Ό λ€μ΄, .container > .card > .imageμ κ°μ λ§€μ° κ΅¬μ²΄μ μΈ μ νμλ₯Ό μ¬μ©νλ λμ , .card-imageμ κ°μ λ μΌλ°μ μΈ ν΄λμ€λ₯Ό μ¬μ©νκ³ μ€νμΌμ μ§μ μ μ©νλ κ²μ κ³ λ €νμμμ€.
2. 쿼리 λΉλ
κΈκ²©νκ² λ³κ²½λλ 컨ν μ΄λ ν¬κΈ°λ₯Ό κΈ°λ°μΌλ‘ νλ 쿼리μ κ°μ΄ μμ£Ό νκ°λλ 쿼리λ μ±λ₯ λ³λͺ© νμμ μ λ°ν μ μμ΅λλ€. 쿼리 νκ° λΉλλ₯Ό μ€μ΄λ €λ©΄ ν¬κΈ° μ‘°μ μ΄λ²€νΈλ₯Ό λλ°μ΄μ€νκ±°λ μ€λ‘νλ§νμμμ€. λλ°μ΄μ±μ λ§μ§λ§ μ΄λ²€νΈ μ΄ν νΉμ μκ°μ΄ κ²½κ³Όν νμλ§ ν¨μκ° νΈμΆλλλ‘ λ³΄μ₯νλ λ°λ©΄, μ€λ‘νλ§μ μ£Όμ΄μ§ μκ° λ΄μ ν¨μκ° νΈμΆλ μ μλ νμλ₯Ό μ νν©λλ€.
3. λ μ΄μμ μ¬κ³μ°
컨ν
μ΄λ 쿼리λ 컨ν
μ΄λ ν¬κΈ°κ° λ³κ²½λ λ λ μ΄μμ μ¬κ³μ°μ νΈλ¦¬κ±°ν μ μμ΅λλ€. transform λ° opacityμ κ°μ΄ λ μ΄μμμ μν₯μ μ£Όμ§ μλ μμ±μ μ¬μ©νκ±°λ μ 체 λ μ΄μμ ꡬ쑰λ₯Ό μ΅μ ννμ¬ λ μ΄μμ μ¬κ³μ°μ μ΅μννμμμ€. 컨ν
μ΄λ 쿼리μ μ§μ μν₯μ λ°μ§ μλ μμμ contain: layoutμ μ¬μ©νμ¬ λΆνμν λ μ΄μμ μ¬κ³μ°μ λ°©μ§νλ κ²μ κ³ λ €νμμμ€.
4. λ€μ 그리기 λ° λ¦¬νλ‘μ°
컨ν μ΄λ 쿼리μ μν΄ νΈλ¦¬κ±°λλ DOM λ³κ²½μ λ€μ 그리기(μμ λ€μ 그리기) λ° λ¦¬νλ‘μ°(μμ μμΉ λ° ν¬κΈ° μ¬κ³μ°)λ₯Ό μ λ°ν μ μμ΅λλ€. CSS μμ±μ μ΅μ ννκ³ λΆνμν DOM μ‘°μμ νΌνμ¬ λ€μ 그리기 λ° λ¦¬νλ‘μ°λ₯Ό μ΅μννμμμ€. νλμ¨μ΄ κ°μμ νμ©νκ³ CPU μ¬μ©λμ μ€μ΄λ €λ©΄ JavaScript κΈ°λ° μ λλ©μ΄μ λ³΄λ€ CSS μ λλ©μ΄μ μ μ νΈνμμμ€.
컨ν μ΄λ 쿼리 μ±λ₯ μ΅μ ν
λΆμμ κΈ°λ°μΌλ‘ 컨ν μ΄λ 쿼리 μ±λ₯μ μ΅μ ννκΈ° μν λͺ κ°μ§ μ λ΅μ ꡬνν μ μμ΅λλ€:
1. 쿼리 λ¨μν
볡μ‘ν 쿼리λ₯Ό λ κ°λ¨νκ³ ν¨μ¨μ μΈ μΏΌλ¦¬λ‘ λ¦¬ν©ν λ§νμμμ€. 볡μ‘ν 쑰건μ λ μκ³ κ΄λ¦¬νκΈ° μ¬μ΄ λ©μ΄λ¦¬λ‘ λΆν΄νμμμ€. CSS λ³μλ₯Ό μ¬μ©νμ¬ μΌλ°μ μΌλ‘ μ¬μ©λλ κ°μ μ μ₯νκ³ μΏΌλ¦¬μμ μ€λ³΅μ μ€μ΄μμμ€.
2. ν¬κΈ° μ‘°μ μ΄λ²€νΈ λλ°μ΄μ€ λ° μ€λ‘νλ§
컨ν μ΄λ ν¬κΈ°κ° λΉ λ₯΄κ² λ³κ²½λ λ 쿼리 νκ° λΉλλ₯Ό μ ννκΈ° μν΄ λλ°μ΄μ± λλ μ€λ‘νλ§ κΈ°μ μ μ¬μ©νμμμ€. Lodashμ κ°μ λΌμ΄λΈλ¬λ¦¬λ μ΄λ²€νΈ νΈλ€λ¬λ₯Ό λλ°μ΄μ€νκ³ μ€λ‘νλ§νλ μ νΈλ¦¬ν° ν¨μλ₯Ό μ 곡ν©λλ€.
3. CSS μμ± μ΅μ ν
κ°λ₯ν κ²½μ° transform λ° opacityμ κ°μ΄ λ μ΄μμ μ¬κ³μ°μ΄λ 리νλ‘μ°λ₯Ό νΈλ¦¬κ±°νμ§ μλ CSS μμ±μ μ¬μ©νμμμ€. width, height λ° positionκ³Ό κ°μ μμ±μ 컨ν
μ΄λ 쿼리 λ΄μμ μ§μ μ¬μ©νμ§ λ§μμμ€. λ μ±λ₯μ΄ μ’μ λμμΌλ‘ λ체ν μ μλ κ²½μ°.
4. CSS ν¬ν¨ (Containment) μ¬μ©
contain μμ±μ μ¬μ©νμ¬ μμλ₯Ό 격리νκ³ λ μ΄μμ μ¬κ³μ°μ΄ νμ΄μ§μ λ€λ₯Έ λΆλΆμΌλ‘ μ νλλ κ²μ λ°©μ§νμμμ€. 컨ν
μ΄λμ contain: layoutμ μ μ©νλ©΄ 컨ν
μ΄λ λ΄λΆμ λ³κ²½ μ¬νμ΄ μΈλΆμ λ μ΄μμ μ¬κ³μ°μ νΈλ¦¬κ±°νλ κ²μ λ°©μ§ν μ μμ΅λλ€.
5. κ³Όλν μ€μ²© νΌνκΈ°
쿼리 νκ°μ 볡μ‘μ±μ μ€μ΄κΈ° μν΄ μ»¨ν μ΄λμ 쿼리μ μ€μ²©μ μ΅μννμμμ€. DOM ꡬ쑰λ₯Ό νλ©΄ννκ±°λ λ체 λ μ΄μμ κΈ°μ μ μ¬μ©νμ¬ κΉκ² μ€μ²©λ 컨ν μ΄λμ νμμ±μ μ€μ΄λ κ²μ κ³ λ €νμμμ€.
6. CSS μΊμ€μΌμ΄λ λ° μμ νμ©
CSS μΊμ€μΌμ΄λ λ° μμμ νμ©νμ¬ μ€λ³΅ μ€νμΌλ§μ νΌνκ³ μ»¨ν μ΄λ μΏΌλ¦¬κ° μ μ©νλ μ€νμΌ μλ₯Ό μ€μ΄μμμ€. κΈ°λ³Έ ν΄λμ€μ κ³΅ν΅ μ€νμΌμ μ μν λ€μ 컨ν μ΄λ 쿼리 λ΄μμ μ νμ μΌλ‘ μ¬μ μνμμμ€.
7. λ체 λ μ΄μμ κΈ°μ κ³ λ €
μ΄λ€ κ²½μ°μλ CSS Grid λλ Flexboxμ κ°μ λ체 λ μ΄μμ κΈ°μ μ΄ νΉν 볡μ‘ν λ μ΄μμμμ 컨ν
μ΄λ μΏΌλ¦¬λ³΄λ€ λ λμ μ±λ₯μ μ 곡ν μ μμ΅λλ€. μ΄λ¬ν κΈ°μ μ΄ μ»¨ν
μ΄λ 쿼리μ μ€λ²ν€λ μμ΄ μνλ λ μ΄μμμ λ¬μ±ν μ μλμ§ νκ°νμμμ€. μλ₯Ό λ€μ΄, CSS Gridμ minmax() ν¨μλ νΉμ μλ리μ€μμ 컨ν
μ΄λ 쿼리μ μμ‘΄νμ§ μκ³ λ°μν λ μ΄μμμ λ§λλ λ° μ¬μ©λ μ μμ΅λλ€.
8. λ²€μΉλ§ν¬ λ° νλ‘νμΌλ§
νμ μ½λλ₯Ό λ²€μΉλ§ν¬νκ³ νλ‘νμΌλ§νμ¬ μ΅μ νμ μν₯μ μΈ‘μ νκ³ λ¨μ μλ μ±λ₯ λ³λͺ© νμμ μλ³νμμμ€. λΈλΌμ°μ κ°λ°μ λꡬλ₯Ό μ¬μ©νμ¬ μ΅μ νλ₯Ό μ μ©νκΈ° μ νμ λ λλ§ νλ‘μΈμ€λ₯Ό κΈ°λ‘νκ³ λΆμνμμμ€. νλ μ μλ, λ λλ§ μκ° λ° λ©λͺ¨λ¦¬ μ¬μ©λκ³Ό κ°μ μ±λ₯ μ§νλ₯Ό λΉκ΅νμ¬ μ΅μ νμ μ΄μ μ μ λννμμμ€.
μ€μ©μ μΈ μμ
컨ν μ΄λ 쿼리 μ±λ₯μ λͺ¨λν°λ§νκ³ μ΅μ ννλ λ°©λ²μ λν λͺ κ°μ§ μ€μ©μ μΈ μλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
μμ 1: μΉ΄λ κ΅¬μ± μμ μ΅μ ν
컨ν μ΄λ ν¬κΈ°μ λ°λΌ λ μ΄μμμ μ‘°μ νλ μΉ΄λ κ΅¬μ± μμλ₯Ό μμν΄ λ³΄μμμ€. μ²μμλ κ΅¬μ± μμκ° κΈκΌ΄ ν¬κΈ°, μ΄λ―Έμ§ ν¬κΈ° λ° κ°κ²©μ μ‘°μ νκΈ° μν΄ λ§μ 쑰건μ κ°μ§ 볡μ‘ν 컨ν μ΄λ 쿼리λ₯Ό μ¬μ©ν μ μμ΅λλ€. μ΄λ νΉν λͺ¨λ°μΌ μ₯μΉμμ μ±λ₯ λ¬Έμ λ‘ μ΄μ΄μ§ μ μμ΅λλ€.
λͺ¨λν°λ§: λΈλΌμ°μ μ μ±λ₯ νμ μ¬μ©νμ¬ λ λλ§ νλ‘μΈμ€λ₯Ό κΈ°λ‘νκ³ νκ°νλ λ° κ°μ₯ λ§μ μκ°μ΄ 걸리λ 컨ν μ΄λ 쿼리λ₯Ό μλ³νμμμ€.
μ΅μ ν:
- 쑰건 μλ₯Ό μ€μ΄κ³ CSS λ³μλ₯Ό μ¬μ©νμ¬ μΌλ°μ μΌλ‘ μ¬μ©λλ κ°μ μ μ₯νμ¬ μΏΌλ¦¬λ₯Ό λ¨μνν©λλ€.
- λ μ΄μμ μ¬κ³μ°μ νΌνκΈ° μν΄ μ΄λ―Έμ§μ λλΉμ λμ΄λ₯Ό μ§μ μ‘°μνλ λμ
transform: scale()μ μ¬μ©ν©λλ€. - μΉ΄λ κ΅¬μ± μμμ
contain: layoutμ μ μ©νμ¬ μΉ΄λ λ΄λΆμ λ³κ²½ μ¬νμ΄ νμ΄μ§μ λ€λ₯Έ μμ λ μ΄μμμ μν₯μ λ―ΈμΉμ§ μλλ‘ ν©λλ€.
μμ 2: λ΄λΉκ²μ΄μ λ©λ΄ μ΅μ ν
λ΄λΉκ²μ΄μ λ©λ΄λ μ¬μ© κ°λ₯ν 곡κ°μ λ°λΌ κ°λ‘ λ° μΈλ‘ λ μ΄μμ κ°μ μ ννκΈ° μν΄ μ»¨ν μ΄λ 쿼리λ₯Ό μ¬μ©ν μ μμ΅λλ€. 컨ν μ΄λ ν¬κΈ°μ λΉλ²ν λ³κ²½μ λΉλ²ν 쿼리 νκ° λ° λ μ΄μμ μ¬κ³μ°μ νΈλ¦¬κ±°ν μ μμ΅λλ€.
λͺ¨λν°λ§: μΉ λ°μ΄ν νμ₯ νλ‘κ·Έλ¨μ μ¬μ©νμ¬ CLSλ₯Ό λͺ¨λν°λ§νκ³ λ΄λΉκ²μ΄μ λ©λ΄κ° λ μ΄μμ μ΄λμ μ λ°νλμ§ μλ³νμμμ€.
μ΅μ ν:
- ν¬κΈ° μ‘°μ μ΄λ²€νΈλ₯Ό λλ°μ΄μ€νμ¬ μΏΌλ¦¬ νκ° λΉλλ₯Ό μ νν©λλ€.
- CSS μ νμ μ¬μ©νμ¬ κ°λ‘ λ° μΈλ‘ λ μ΄μμ κ°μ λΆλλ¬μ΄ μ νμ λ§λ€μ΄ μ¬μ©μ κ²½νμ ν₯μμν΅λλ€.
- 컨ν μ΄λ 쿼리λ₯Ό μ§μνμ§ μλ μ΄μ λΈλΌμ°μ λ₯Ό μν λ체 κΈ°λ₯μΌλ‘ λ―Έλμ΄ μΏΌλ¦¬λ₯Ό μ¬μ©νλ κ²μ κ³ λ €ν©λλ€.
μμ 3: λ°μν μ΄λ―Έμ§ κ°€λ¬λ¦¬ μ΅μ ν
μ΄λ―Έμ§ κ°€λ¬λ¦¬λ 컨ν μ΄λμ μ¬μ© κ°λ₯ν 곡κ°μ λ°λΌ λ€μν ν¬κΈ°μ μ΄λ―Έμ§λ₯Ό νμνκΈ° μν΄ μ»¨ν μ΄λ 쿼리λ₯Ό μ¬μ©ν μ μμ΅λλ€. λμ©λ μ΄λ―Έμ§λ₯Ό λ‘λνκ³ λ λλ§νλ κ²μ νΉν λͺ¨λ°μΌ μ₯μΉμμ μ±λ₯μ μν₯μ λ―ΈμΉ μ μμ΅λλ€.
λͺ¨λν°λ§: λΈλΌμ°μ μ λ€νΈμν¬ νμ μ¬μ©νμ¬ μ΄λ―Έμ§ λ‘λ μκ°μ λͺ¨λν°λ§νκ³ λμ©λ μ΄λ―Έμ§κ° λΆνμνκ² λ‘λλκ³ μλμ§ νμΈνμμμ€.
μ΅μ ν:
- λ°μν μ΄λ―Έμ§(
srcsetμμ±)λ₯Ό μ¬μ©νμ¬ μ₯μΉμ νλ©΄ ν¬κΈ° λ° ν΄μλμ λ°λΌ λ€μν ν¬κΈ°μ μ΄λ―Έμ§λ₯Ό λ‘λν©λλ€. - μ§μ° λ‘λ©μ μ¬μ©νμ¬ μ΄λ―Έμ§κ° λ·°ν¬νΈμ νμλ λκΉμ§ λ‘λλ₯Ό μ°κΈ°ν©λλ€.
- μμΆ κΈ°μ μ μ¬μ©νμ¬ μ΄λ―Έμ§ νμΌμ μ΅μ ννμ¬ νμΌ ν¬κΈ°λ₯Ό μ€μ λλ€.
κΈλ‘λ² κ³ λ € μ¬ν
컨ν μ΄λ 쿼리 μ±λ₯μ μ΅μ νν λλ μ¬μ©μ κ²½νμ μν₯μ λ―ΈμΉ μ μλ μ μμ μμλ₯Ό κ³ λ €νλ κ²μ΄ μ€μν©λλ€:
- λ€νΈμν¬ μ§μ° μκ°: λ€λ₯Έ μ§λ¦¬μ μ§μμ μ¬μ©μλ λ€λ₯Έ λ€νΈμν¬ μ§μ° μκ°μ κ²½νν μ μμΌλ©°, μ΄λ νμ΄μ§ λ‘λ μκ° λ° μλ΅μ±μ μν₯μ λ―ΈμΉ μ μμ΅λλ€. CDN(μ½ν μΈ μ μ‘ λ€νΈμν¬)μ μ¬μ©νμ¬ λ€λ₯Έ μ§μμ λ§κ² μμ°μ μ΅μ ννμμμ€.
- μ₯μΉ κΈ°λ₯: λ€λ₯Έ κ΅κ°μ μ¬μ©μλ μ²λ¦¬ λ₯λ ₯κ³Ό νλ©΄ ν¬κΈ°κ° λ€μν λ€λ₯Έ μ νμ μ₯μΉλ₯Ό μ¬μ©ν μ μμ΅λλ€. 보κΈν λͺ¨λ°μΌ μ₯μΉλ₯Ό ν¬ν¨ν λ€μν μ₯μΉμ λ§κ² 컨ν μ΄λ 쿼리λ₯Ό μ΅μ ννμμμ€.
- μΈμ΄ λ° νμ§ν: λ€λ₯Έ μΈμ΄λ ν μ€νΈ κΈΈμ΄ λ° λ°©ν₯μ λ³νλ‘ μΈν΄ λ€λ₯Έ λ μ΄μμ μ‘°μ μ΄ νμν μ μμ΅λλ€. μ¬μ©μκ° μ νν μΈμ΄μ λ°λΌ λ μ΄μμμ μ‘°μ νκΈ° μν΄ μ»¨ν μ΄λ 쿼리λ₯Ό μ¬μ©νμμμ€.
- μ κ·Όμ±: 컨ν μ΄λ μΏΌλ¦¬κ° μ κ·Όμ±μ λΆμ μ μΈ μν₯μ λ―ΈμΉμ§ μλλ‘ λ³΄μ₯νμμμ€. 보쑰 κΈ°μ λ‘ μΉμ¬μ΄νΈλ₯Ό ν μ€νΈνμ¬ μ₯μ κ° μλ μ¬λλ€λ μ¬μ©ν μ μλλ‘ νμμμ€.
κ²°λ‘
CSS 컨ν μ΄λ 쿼리λ μ μν λ° μ¬μ¬μ© κ°λ₯ν κ΅¬μ± μμλ₯Ό μμ±νλ κ°λ ₯ν λ°©λ²μ μ 곡ν©λλ€. μ±λ₯μ λͺ¨λν°λ§νκ³ λΆμν¨μΌλ‘μ¨ μ μ¬μ μΈ λ¬Έμ λ₯Ό μλ³νκ³ ν΄κ²°νμ¬ λͺ¨λ μ₯μΉ λ° νλ©΄ ν¬κΈ°μμ μννκ³ ν¨μ¨μ μΈ μ¬μ©μ κ²½νμ 보μ₯ν μ μμ΅λλ€. μ΄ κ°μ΄λμ μ€λͺ λ κΈ°μ μ νμ©νμ¬ μ»¨ν μ΄λ 쿼리λ₯Ό μ΅μ ννκ³ λ°μν μΉ λμμΈμ μ μ¬λ ₯μ μ΅λν λ°ννμμμ€. νλ‘μ νΈκ° λ°μ ν¨μ λ°λΌ ꡬνμ μ κΈ°μ μΌλ‘ κ²ν νκ³ κ°μ νμ¬ μ΅μ μ μ±λ₯κ³Ό νμ₯μ±μ μ μ§νμμμ€. μ μ€ν κ³νκ³Ό μ² μ ν λͺ¨λν°λ§μ ν΅ν΄ 컨ν μ΄λ 쿼리μ νμ νμ©νμ¬ μ μΈκ³ μ¬μ©μμκ² μ§μ μΌλ‘ νμνκ³ μ±λ₯μ΄ λ°μ΄λ μΉ κ²½νμ μ 곡ν μ μμ΅λλ€.
μ μ¬μ μΈ μ±λ₯ λ³λͺ© νμμ μ¬μ μ ν΄κ²°ν¨μΌλ‘μ¨, μ΄λ€ μ₯μΉλ νλ©΄ ν¬κΈ°λ‘ μ μνλ μΉμ¬μ΄νΈκ° λΉ λ₯΄κ³ λ°μμ±μ΄ μ’μΌλ©° μ¬μ©μ μΉνμ μμ 보μ₯ν μ μμ΅λλ€. μ΄λ μ¬μ©μ λ§μ‘±λλ₯Ό ν₯μμν¬ λΏλ§ μλλΌ λ λμ κ²μ μμ§ μμ λ° μ λ°μ μΈ λΉμ¦λμ€ μ±κ³΅μλ κΈ°μ¬ν©λλ€. 컨ν μ΄λ 쿼리 μ±λ₯ μ΅μ νλ μ§μμ μΈ λͺ¨λν°λ§, λΆμ λ° κ°μ μ΄ νμν μ§μμ μΈ νλ‘μΈμ€μμ κΈ°μ΅νμμμ€. μ΅μ λͺ¨λ² μ¬λ‘μ λꡬμ λν μ 보λ₯Ό μ μ§νκ³ , λμμΈ λ° κ°λ° κ²°μ μ λ΄λ¦΄ λ νμ μ¬μ©μ κ²½νμ μ΅μ°μ μΌλ‘ νμμμ€.