μ¬μ©λμ§ μλ CSS μ½λλ₯Ό μ κ±°νμ¬ μΉμ¬μ΄νΈ λ‘λ© μκ°μ λ¨μΆνκ³ μ±λ₯μ ν₯μμν€λ CSS νΌμ§ κΈ°μ μ λ°°μ°μΈμ. μ΄ κ°μ΄λλ λ€μν λꡬμ μ λ΅μ λ€λ£Ήλλ€.
CSS νΌμ§: μ΅μ νλ μΉμ¬μ΄νΈλ₯Ό μν λ―Έμ¬μ© μ½λ μ κ±° λ§μ€ν°νκΈ°
μ€λλ μ μΉ κ°λ° νκ²½μμ μΉμ¬μ΄νΈ μ±λ₯μ κ°μ₯ μ€μν©λλ€. μ¬μ©μλ€μ λ§€μ° λΉ λ₯Έ λ‘λ© μκ°κ³Ό μνν κ²½νμ κΈ°λν©λλ€. μΉμ¬μ΄νΈ μλμ μν₯μ λ―ΈμΉλ μ£Όμ μμΈ μ€ νλλ CSS νμΌμ ν¬κΈ°μ ν¨μ¨μ±μ λλ€. μκ°μ΄ μ§λ¨μ λ°λΌ CSS μ€νμΌμνΈλ μ¬μ©λμ§ μλ μ½λλ₯Ό μΆμ νμ¬ νμΌ ν¬κΈ°λ₯Ό λΆνλ¦¬κ³ νμ΄μ§ λ‘λ© μκ°μ λ¦μΆλ κ²½μ°κ° λ§μ΅λλ€. λ°λ‘ μ΄ μ§μ μμ CSS νΌμ§(CSS purging)κ° μ€μνκ² μμ©ν©λλ€. μ΄λ μ¬μ©λμ§ μλ CSS κ·μΉμ μ κ±°νκ³ μΉμ¬μ΄νΈ μ±λ₯μ μ΅μ ννλ νμμ μΈ κ³Όμ μ λλ€.
CSS νΌμ§λ 무μμΈκ°μ?
CSS μ 리(CSS pruning) λλ CSS νΈλ¦¬ μμ΄νΉ(CSS tree shaking)μΌλ‘λ μλ €μ§ CSS νΌμ§(CSS purge)λ HTML, JavaScript λ° κΈ°ν ν νλ¦Ώ νμΌμ λΆμνμ¬ μΉμ¬μ΄νΈμμ μ€μ λ‘ μ¬μ©λμ§ μλ CSS κ·μΉμ μλ³νκ³ μ κ±°νλ κ³Όμ μ λλ€. λ³Έμ§μ μΌλ‘ CSS νμΌμ μ 리νμ¬ νμ΄μ§μ 보μ΄λ μμλ₯Ό λ λλ§νλ λ° νμν μ€νμΌλ§ λ¨κΉλλ€. μ΄λ CSS νμΌ ν¬κΈ°λ₯Ό ν¬κ² μ€μ¬ λ€μ΄λ‘λ μκ°μ λ¨μΆνκ³ μ λ°μ μΈ μΉμ¬μ΄νΈ μ±λ₯μ ν₯μμν΅λλ€.
CSS νΌμ§κ° μ μ€μνκ°μ?
CSS νΌμ§μ μ΄μ μ λ€μνκ³ μν₯λ ₯μ΄ ν½λλ€:
- ν₯μλ μΉμ¬μ΄νΈ μ±λ₯: λ μμ CSS νμΌμ μ§μ μ μΌλ‘ λ λΉ λ₯Έ λ€μ΄λ‘λ μκ°μΌλ‘ μ΄μ΄μ Έ νμ΄μ§ λ‘λ© μλλ₯Ό λμ΄κ³ λ λμ μ¬μ©μ κ²½νμ μ 곡ν©λλ€. νΉν λͺ¨λ°μΌ κΈ°κΈ°λ μΈν°λ· μ°κ²°μ΄ λλ¦° μ§μμμλ 1λ°λ¦¬μ΄λ μ€μν©λλ€. μΈλ λλ°μ΄μ μ¬μ©μκ° 3G λ€νΈμν¬λ‘ κ·νμ μ¬μ΄νΈμ μ μνλ€κ³ μμν΄ λ³΄μΈμ. λ μμ CSS νμΌμ λμ λλ μ°¨μ΄λ₯Ό λ§λλλ€.
- λμν μλΉ κ°μ: λ μμ CSS νμΌμ μλ²μ μ¬μ©μ λΈλΌμ°μ κ°μ μ μ‘λμ΄μΌ νλ λ°μ΄ν°κ° μ λ€λ κ²μ μλ―Ένλ©°, μ΄λ κ·νμ μ¬μ©μ λͺ¨λμκ² λμν λΉμ©μ μ μ½ν΄ μ€λλ€. μ΄λ νΈλν½μ΄ λ§μ μΉμ¬μ΄νΈμ νΉν μ€μν©λλ€.
- ν₯μλ SEO: Googleκ³Ό κ°μ κ²μ μμ§μ μΉμ¬μ΄νΈ μλλ₯Ό μμ μμλ‘ κ³ λ €ν©λλ€. λ λΉ λ₯Έ μΉμ¬μ΄νΈλ κ²μ κ²°κ³Όμμ λ λμ μμλ₯Ό μ°¨μ§ν κ°λ₯μ±μ΄ λμΌλ©°, μ΄λ κ·νμ μ¬μ΄νΈλ‘ λ λ§μ μ κΈ°μ νΈλν½μ μ λν©λλ€.
- λ κΉλν μ½λλ² μ΄μ€: μ¬μ©λμ§ μλ CSSλ₯Ό μ κ±°νλ©΄ μ½λλ² μ΄μ€λ₯Ό λ μ½κ² κ΄λ¦¬νκ³ μ μ§λ³΄μν μ μμ΅λλ€. μ΄λ 볡μ‘ν¨κ³Ό νΌλμ μ€μ¬ κ°λ°μλ€μ΄ λ ν¨μ¨μ μΌλ‘ μμ ν μ μλλ‘ ν©λλ€.
- λ λμ λͺ¨λ°μΌ κ²½ν: λͺ¨λ°μΌ μ¬μ©μλ€μ μ’ μ’ λμνκ³Ό μ²λ¦¬ λ₯λ ₯μ΄ μ νμ μ λλ€. CSSλ₯Ό μ΅μ ννλ©΄ λͺ¨λ°μΌ κΈ°κΈ°μμ μννκ³ λ°μμ± μλ κ²½νμ 보μ₯ν©λλ€. μΌλ³Έ λμΏμ ν μ°κ΅¬μ λ°λ₯΄λ©΄ λͺ¨λ°μΌ μ¬μ©μλ€μ μΉμ¬μ΄νΈ λ‘λ©μ 3μ΄ μ΄μ 걸리면 ν΄λΉ μΉμ¬μ΄νΈλ₯Ό μ΄νν κ°λ₯μ±μ΄ λ λλ€κ³ ν©λλ€.
μΈμ CSSλ₯Ό νΌμ§ν΄μΌ νλμ?
CSS νΌμ§λ μΉ κ°λ° μν¬νλ‘μ μ κΈ°μ μΈ λΆλΆμ΄μ΄μΌ νλ©°, νΉν μ£Όμ μ λ°μ΄νΈλ μ¬μ€κ³ νμλ λμ± κ·Έλ μ΅λλ€. λ€μμ CSS νΌμ§λ₯Ό κ³ λ €ν΄μΌ ν νΉμ μλ리μ€μ λλ€:
- CSS νλ μμν¬ ν΅ν© ν: Bootstrap, Tailwind CSS, Materializeμ κ°μ νλ μμν¬λ κ΄λ²μν μ¬μ ꡬμΆλ μ€νμΌμ μ 곡νμ§λ§, μ΄λ€ λͺ¨λλ₯Ό μ¬μ©νμ§λ μμ κ°λ₯μ±μ΄ λμ΅λλ€. μ¬μ©λμ§ μλ μ€νμΌμ νΌμ§νλ κ²μ μ±λ₯ μ΅μ νμ νμμ μ λλ€.
- κΈ°λ₯ λλ μΉμ μ κ±° ν: μΉμ¬μ΄νΈμμ κΈ°λ₯ λλ μΉμ μ μ κ±°ν λ ν΄λΉ CSS κ·μΉμ΄ λ μ΄μ νμ μκ² λ μ μμ΅λλ€. μ΄λ€μ νΌμ§νλ©΄ CSS νμΌμ κΉλνκ³ ν¨μ¨μ μΌλ‘ μ μ§ν μ μμ΅λλ€.
- νλ‘λμ λ°°ν¬ μ : μ¬μ©μμκ² μ΅μ μ μ±λ₯μ 보μ₯νλ €λ©΄ μΉμ¬μ΄νΈλ₯Ό νλ‘λμ νκ²½μ λ°°ν¬νκΈ° μ μ νμ CSSλ₯Ό νΌμ§ν΄μΌ ν©λλ€. μ΄λ λ μΌ λ² λ₯Όλ¦°μ κ°λ° νκ³Ό μλ₯΄ν¨ν°λ λΆμλ Έμ€μμ΄λ μ€μ λ¨λ κ°λ°μλ€μκ² νμ€μ μΈ κ΄νμ λλ€.
- μ μ§λ³΄μμ μΌνμΌλ‘ μ£ΌκΈ°μ μΌλ‘: μκ°μ΄ μ§λ¨μ λ°λΌ μ¬μ©λμ§ μλ μ½λκ° μΆμ λλ κ²μ λ°©μ§νκΈ° μν΄ μΉμ¬μ΄νΈ μ μ§λ³΄μ 루ν΄μ μΌλΆλ‘ μ κΈ°μ μΈ CSS νΌμ§λ₯Ό μμ½νμΈμ.
CSS νΌμ§ κΈ°μ λ° λꡬ
μΉμ¬μ΄νΈμμ μ¬μ©λμ§ μλ CSSλ₯Ό ν¨κ³Όμ μΌλ‘ μ κ±°νλ λ° λμμ΄ λλ μ¬λ¬ λꡬμ κΈ°μ μ΄ μμ΅λλ€:
1. PurgeCSS
PurgeCSSλ HTML, JavaScript λ° κΈ°ν ν νλ¦Ώ νμΌμ λΆμνμ¬ μ¬μ©λμ§ μλ CSS μ νμλ₯Ό μλ³νκ³ μ κ±°νλ μΈκΈ° μκ³ κ°λ ₯ν λꡬμ λλ€. HTML, PHP, JavaScript, Vue.js, Reactλ₯Ό ν¬ν¨ν λ€μν νμΌ νμμ μ§μν©λλ€. μ λ½κ³Ό λΆλ―Έ μ μμ μμ΄μ μ λ° κ°λ°μλ€μ΄ κ΄λ²μνκ² μ¬μ©νκ³ μμ΅λλ€.
μ€μΉ:
npm λλ yarnμ μ¬μ©νμ¬ PurgeCSSλ₯Ό μ€μΉν μ μμ΅λλ€:
npm install -g purgecss
yarn global add purgecss
μ¬μ©λ²:
PurgeCSSλ λͺ λ Ήμ€μ ν΅ν΄ λλ PostCSS νλ¬κ·ΈμΈμΌλ‘ μ¬μ©ν μ μμ΅λλ€. λ€μμ λͺ λ Ήμ€μ ν΅ν΄ μ¬μ©νλ μμμ λλ€:
purgecss --css public/css/style.css --content **/*.html --output public/css/style.min.css
μ΄ λͺ λ Ήμ νλ‘μ νΈμ λͺ¨λ HTML νμΌμ λΆμνκ³ `public/css/style.css`μμ μ¬μ©λμ§ μλ CSS μ νμλ₯Ό μ κ±°ν ν μ΅μ νλ CSSλ₯Ό `public/css/style.min.css`μ μ μ₯ν©λλ€.
ꡬμ±:
PurgeCSSλ μ νμ safelisting, λμ μ½ν μΈ μμ μ νμ μΆμΆ, λ€λ₯Έ μ½ν μΈ μμ€ μ§μ λ± λμμ μ¬μ©μ μ μνκΈ° μν λ€μν κ΅¬μ± μ΅μ μ μ 곡ν©λλ€.
2. UnCSS
UnCSSλ μ¬μ©λμ§ μλ CSSλ₯Ό μ κ±°νλ λ λ€λ₯Έ μΈκΈ° μλ λꡬμ λλ€. HTMLμ νμ±νκ³ μ΄λ€ CSS κ·μΉμ΄ μ€μ λ‘ μ¬μ©λλμ§ μλ³νμ¬ μλν©λλ€. κ°λ ₯νμ§λ§, λμ μΌλ‘ μμ±λλ μ½ν μΈ μλ λλλ‘ μ΄λ €μμ κ²ͺμΌλ©° μ νν λΆμμ μν΄ λΈλΌμ°μ νκ²½μμ JavaScriptλ₯Ό μ€νν΄μΌ ν©λλ€. μ΄λ‘ μΈν΄ React λ° Vue.jsμ κ°μ μ΅μ JavaScript νλ μμν¬μλ PurgeCSSλ³΄λ€ λ μ ν©ν©λλ€.
μ€μΉ:
npm install -g uncss
μ¬μ©λ²:
uncss *.html > cleaned.css
μ΄ λͺ λ Ήμ νμ¬ λλ ν 리μ λͺ¨λ HTML νμΌμ λΆμνκ³ μ 리λ CSSλ₯Ό `cleaned.css`μ μΆλ ₯ν©λλ€.
3. CSSNano
CSSNanoλ μ΅μν, λ°λ μ½λ μ κ±°, κ·μΉ λ³ν© λ± λ€μν CSS μ΅μ νλ₯Ό μννλ PostCSS νλ¬κ·ΈμΈμ λλ€. μλ°ν λ§νλ©΄ CSS νΌμ§ λꡬλ μλμ§λ§, μ€λ³΅λκ³ λΆνμν μ½λλ₯Ό μ κ±°νμ¬ CSS νμΌμ μ 체 ν¬κΈ°λ₯Ό μ€μ΄λ λ° λμμ΄ λ μ μμ΅λλ€. PurgeCSSλ₯Ό μ€νν ν μν¬νλ‘μ μΆκ°νκΈ°μ μ’μ λꡬμ λλ€.
μ€μΉ:
npm install -g cssnano
μ¬μ©λ²:
CSSNanoλ μΌλ°μ μΌλ‘ PostCSS λΉλ νλ‘μΈμ€μ μΌλΆλ‘ μ¬μ©λ©λλ€. ꡬμ±μ λΉλ μμ€ν (μ: Webpack, Gulp)μ λ°λΌ λ¬λΌμ§λλ€.
4. μλ κ²μ¬ λ° μ κ±°
μλνλ λκ΅¬κ° λ§€μ° ν¨κ³Όμ μ΄μ§λ§, νΉν μκ·λͺ¨ νλ‘μ νΈλ 볡μ‘ν CSS ꡬ쑰λ₯Ό λ€λ£° λλ μλ κ²μ¬λ μ€μν μν μ ν μ μμ΅λλ€. CSS νμΌμ μ μ€νκ² κ²ν νκ³ λ μ΄μ μ¬μ©λμ§ μλ κ·μΉμ μλ³νμΈμ. μ΄ μ κ·Ό λ°©μμ μΉμ¬μ΄νΈμ λμμΈ λ° κΈ°λ₯μ λν μ² μ ν μ΄ν΄λ₯Ό νμλ‘ ν©λλ€. ν΄λμ€ μ΄λ¦μ΄ μ‘΄μ¬νμ§λ§ μ€μ λ‘ μ무κ²λ μ€νμΌλ§νλ λ° μ¬μ©λμ§ μλ κ²½μ°, μλνλ λκ΅¬κ° λμΉ μ μλ μ΄κΈ° λΉλμμ μ¬μ ν μ‘΄μ¬νλ λ κ±°μ μ½λλ₯Ό μλ³ν μ μμ΅λλ€.
ν¨κ³Όμ μΈ CSS νΌμ§λ₯Ό μν λͺ¨λ² μ¬λ‘
CSS νΌμ§μ ν¨κ³Όλ₯Ό κ·Ήλννλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄μΈμ:
- CSS νλ μμν¬ νλͺ νκ² μ¬μ©: CSS νλ μμν¬λ₯Ό μ¬μ©νλ κ²½μ°, μ€μ λ‘ νμν κ΅¬μ± μμμ μ€νμΌμ μ μ€νκ² μ ννμΈμ. κΈ°λ₯μ μμ νμ μ§ν©λ§ μ¬μ©νλ κ²½μ° μ 체 νλ μμν¬λ₯Ό κ°μ Έμ€μ§ λ§μΈμ. λͺ¨λμ CSS μν€ν μ²(μ: BEM λλ OOCSS)λ₯Ό μ¬μ©νμ¬ μ¬μ©λμ§ μλ μ€νμΌμ λ μ½κ² μλ³νκ³ μ κ±°ν μ μλλ‘ κ³ λ €νμΈμ.
- μΈλΌμΈ μ€νμΌ νΌνκΈ°: μΈλΌμΈ μ€νμΌμ νΌμ§νκΈ° μ΄λ ΅κ³ CSS μ μ§λ³΄μλ₯Ό μ΄λ ΅κ² λ§λ€ μ μμ΅λλ€. μΈλΆ CSS νμΌμ΄λ HTMLμ `` μΉμ λ΄μ μλ² λλ μ€νμΌμ μ¬μ©νμΈμ.
- μ€λͺ μ μΈ ν΄λμ€ μ΄λ¦ μ¬μ©: λͺ ννκ³ μ€λͺ μ μΈ ν΄λμ€ μ΄λ¦μ κ° CSS κ·μΉμ λͺ©μ μ μλ³νκ³ μ¬μ ν μ¬μ© μ€μΈμ§ νλ¨νκΈ° μ½κ² λ§λλλ€. `.btn1`λ³΄λ€ `.button-primary`μ κ°μ ν΄λμ€κ° ν¨μ¬ μ΄ν΄νκΈ° μ½μ΅λλ€.
- μ² μ ν ν μ€νΈ: CSSλ₯Ό νΌμ§ν ν μΉμ¬μ΄νΈλ₯Ό μ² μ ν ν μ€νΈνμ¬ λͺ¨λ μ€νμΌμ΄ μ¬λ°λ₯΄κ² λ λλ§λκ³ μμκ° μμλμ§ μμλμ§ νμΈνμΈμ. λ€μν λΈλΌμ°μ μ μ₯μΉλ₯Ό μ¬μ©νμ¬ λ€μν λ λλ§ μμ§κ³Ό νλ©΄ ν¬κΈ°λ₯Ό λ€λ£¨μΈμγ
- νλ‘μΈμ€ μλν: CSS νΌμ§λ₯Ό λΉλ νλ‘μΈμ€μ ν΅ν©νμ¬ μΌκ΄λκ³ μλμΌλ‘ μνλλλ‘ νμΈμ. μ΄λ Grunt, Gulp, Webpack, Parcelκ³Ό κ°μ λꡬλ₯Ό μ¬μ©νμ¬ λ¬μ±ν μ μμ΅λλ€.
- μ½λ λΆν κ³ λ €: λ ν° μ ν리μΌμ΄μ μ κ²½μ°, CSSλ₯Ό λ μκ³ κ΄λ¦¬νκΈ° μ¬μ΄ μ²ν¬λ‘ λΆν νμ¬ νμν λλ§ λ‘λλλλ‘ κ³ λ €νμΈμ. μ΄λ μ΄κΈ° CSS λ€μ΄λ‘λ ν¬κΈ°λ₯Ό μ€μ¬ μ±λ₯μ λμ± ν₯μμν¬ μ μμ΅λλ€.
μΌλ°μ μΈ λ¬Έμ ν΄κ²°
CSS νΌμ§λ κ°λ ₯ν μ΅μ ν κΈ°μ μ΄μ§λ§, λͺ κ°μ§ λ¬Έμ μ λ λ°μν μ μμ΅λλ€:
- λμ μ½ν μΈ : λμ μΌλ‘ μμ±λλ μ½ν μΈ (μ: JavaScriptλ₯Ό ν΅ν΄ λ‘λλλ μ½ν μΈ )λ CSS νΌμ§ λκ΅¬κ° μ ννκ² λΆμνκΈ° μ΄λ €μΈ μ μμ΅λλ€. λꡬλ₯Ό ꡬμ±νμ¬ JavaScript νμΌμμ μ νμλ₯Ό μΆμΆνκ±°λ μ νμ safelistingκ³Ό κ°μ λ μ κ΅ν μ κ·Ό λ°©μμ μ¬μ©ν΄μΌ ν μ μμ΅λλ€. μ€νμΌμ΄ JavaScript μνμ μν΄ μμ ν κ²°μ λλ κ΅¬μ± μμμλ CSS-in-JS μ루μ μ μ¬μ©νλ κ²μ κ³ λ €νμΈμ.
- μ€ν: CSS νΌμ§ λꡬλ λλλ‘ CSS κ·μΉμ μ¬μ©λμ§ μλ κ²μΌλ‘ μλͺ» μλ³νμ¬ μ€νμΌ μμμ μ λ°ν μ μμ΅λλ€. μ΄λ 볡μ‘ν μ νμλ₯Ό μ¬μ©νκ±°λ Sass λλ Lessμ κ°μ CSS μ μ²λ¦¬κΈ°λ₯Ό μ¬μ©ν λ νΉν νν©λλ€. λͺ¨λ μ€νμ μλ³νκ³ μμ νλ €λ©΄ μ² μ ν ν μ€νΈκ° μ€μν©λλ€. μλͺ» μ κ±°λλ μ νμλ νμ΄νΈλ¦¬μ€νΈμ μΆκ°νμΈμ.
- νΉμ μ± λ¬Έμ : CSS κ·μΉμ μ κ±°νλ©΄ λ€λ₯Έ κ·μΉμ νΉμ μ±μ μν₯μ λ―Έμ³ μμμΉ λͺ»ν μ€νμΌλ§ λ³κ²½μ μ΄λν μ μμ΅λλ€. CSSλ₯Ό νΌμ§ν λ CSS νΉμ μ±μ μΈμ¬ν μ£Όμλ₯Ό κΈ°μΈμ΄κ³ κ·Έμ λ°λΌ μ νμλ₯Ό μ‘°μ νμΈμ. CSSLintμ κ°μ λꡬλ νΉμ μ± λ¬Έμ λ₯Ό μλ³νκ³ ν΄κ²°νλ λ° λμμ΄ λ μ μμ΅λλ€.
μ€μ μ¬λ‘
CSS νΌμ§κ° μΉμ¬μ΄νΈ μ±λ₯μ μ΄λ»κ² ν₯μμν¬ μ μλμ§ λͺ κ°μ§ μ€μ μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
- μμ 1: μ μμκ±°λ μΉμ¬μ΄νΈ: CSS νλ μμν¬λ‘ Bootstrapμ μ¬μ©νλ μ μμκ±°λ μΉμ¬μ΄νΈμ CSS νμΌ ν¬κΈ°λ 500KBμμ΅λλ€. μ¬μ©λμ§ μλ CSSλ₯Ό νΌμ§ν ν νμΌ ν¬κΈ°κ° 150KBλ‘ μ€μ΄λ€μ΄ λ€μ΄λ‘λ μκ°μ΄ 60% λ¨μΆλμκ³ νμ΄μ§ λ‘λ© μλκ° λμ λκ² ν₯μλμμ΅λλ€. μ΄λ A/B ν μ€νΈμμ νλ§€ μ νμ¨ μ¦κ°λ‘ μ§μ μ΄μ΄μ‘μ΅λλ€.
- μμ 2: λΈλ‘κ·Έ μΉμ¬μ΄νΈ: λ§μΆ€ν CSS ν λ§λ₯Ό μ¬μ©νλ λΈλ‘κ·Έ μΉμ¬μ΄νΈμ CSS νμΌ ν¬κΈ°λ 200KBμμ΅λλ€. μ¬μ©λμ§ μλ CSSλ₯Ό νΌμ§ν ν νμΌ ν¬κΈ°κ° 80KBλ‘ μ€μ΄λ€μ΄ λ€μ΄λ‘λ μκ°μ΄ 40% λ¨μΆλμκ³ μ¬μ©μ κ²½νμ΄ λμ± μνν΄μ‘μ΅λλ€. ν₯μλ μ±λ₯μ μ΄νλ₯ κ°μλ‘ μ΄μ΄μ‘μ΅λλ€.
- μμ 3: μΉ μ ν리μΌμ΄μ : Reactλ‘ κ΅¬μΆλ 볡μ‘ν μΉ μ ν리μΌμ΄μ μ CSS νμΌ ν¬κΈ°λ 800KBμμ΅λλ€. μ½λ λΆν κ³Ό CSS νΌμ§λ₯Ό ꡬνν¨μΌλ‘μ¨ νμΌ ν¬κΈ°κ° 300KBλ‘ μ€μ΄λ€μ΄ μ΄κΈ° λ‘λ© μκ°κ³Ό μ λ°μ μΈ μ ν리μΌμ΄μ λ°μμ±μ΄ ν¬κ² ν₯μλμμ΅λλ€. μ΄λ‘ μΈν΄ μ± μ¬μ©μ΄ ν¨μ¬ λ λΉ λ¦Ώνκ² λκ»΄μ‘μ΅λλ€.
CSS νΌμ§μ κΈλ‘λ² μ κ·Όμ±
CSSλ₯Ό νΌμ§ν λ μ κ·Όμ±μ κ³ λ €νλ κ²μ΄ μ€μν©λλ€. μ€νμΌ μ κ±°κ° μ₯μ κ° μλ μ¬μ©μμκ² λΆμ μ μΈ μν₯μ λ―ΈμΉμ§ μλλ‘ νμΈμ. μλ₯Ό λ€μ΄, ν€λ³΄λ νμμ μν ν¬μ»€μ€ μ€νμΌμ μ κ±°νλ©΄ μΌλΆ μ¬μ©μμκ² μΉμ¬μ΄νΈκ° μ¬μ© λΆκ°λ₯νκ² λ μ μμ΅λλ€. CSSλ₯Ό μ μ€νκ² κ²ν νκ³ νΌμ§ νμλ λͺ¨λ νμ μ κ·Όμ± κΈ°λ₯μ΄ λ³΄μ‘΄λλμ§ νμΈνμΈμ.
CSS μ΅μ νμ λ―Έλ
CSS μ΅μ ν λΆμΌλ λμμμ΄ λ°μ νκ³ μμ΅λλ€. μΉ κ°λ° κ΄νμ΄ κ³μ λ°μ ν¨μ λ°λΌ μΉμ¬μ΄νΈ μ±λ₯μ λμ± ν₯μμν€λ μλ‘μ΄ λꡬμ κΈ°μ μ΄ λ±μ₯νκ³ μμ΅λλ€. 볡μ‘ν JavaScript νλ μμν¬μ λμ μ½ν μΈ λ₯Ό λ μ ννκ² μ²λ¦¬ν μ μλ λμ± μ κ΅ν CSS νΌμ§ λꡬλ₯Ό κΈ°λν μ μμ΅λλ€. CSS μ΅μ ν λꡬμ AI λ° λ¨Έμ λ¬λμ ν΅ν©νλ©΄ ν¨μ¬ λ ν¨μ¨μ μ΄κ³ μλνλ νΌμ§ νλ‘μΈμ€λ‘ μ΄μ΄μ§ μ μμ΅λλ€. λν, Core Web Vitalsμ μ€μμ±μ΄ 컀μ§λ©΄μ CSS μ΅μ ν κΈ°μ μ μΆκ°μ μΈ νμ μ΄ μ΄μ§λ κ°λ₯μ±μ΄ λμ΅λλ€.
κ²°λ‘
CSS νΌμ§λ μΉμ¬μ΄νΈ μ±λ₯μ μ΅μ ννκ³ λ λμ μ¬μ©μ κ²½νμ μ 곡νκΈ° μν νμμ μΈ κΈ°μ μ λλ€. μ¬μ©λμ§ μλ CSS μ½λλ₯Ό μ κ±°ν¨μΌλ‘μ¨ νμΌ ν¬κΈ°λ₯Ό ν¬κ² μ€μ΄κ³ νμ΄μ§ λ‘λ© μλλ₯Ό ν₯μμν€λ©° SEOλ₯Ό κ°νν μ μμ΅λλ€. CSS νλ μμν¬λ₯Ό μ¬μ©νλ , λ§μΆ€ν ν λ§λ₯Ό ꡬμΆνλ , 볡μ‘ν μΉ μ ν리μΌμ΄μ μ κ°λ°νλ , CSS νΌμ§λ₯Ό μν¬νλ‘μ ν΅ν©νλ κ²μ μ₯κΈ°μ μΌλ‘ ν° μ΄μ μ κ°μ Έλ€μ€ κ°μΉ μλ ν¬μμ λλ€. CSS νΌμ§μ νμ λ°μλ€μ΄κ³ μΉμ¬μ΄νΈμ μ μ¬λ ₯μ μ΅λν λ°ννμΈμ.