π Front-End/CSS
CSS μ μ²λ¦¬κΈ°λ₯Ό μ¬μ©νλ©΄ κ°λ°μ μΈ μΈ‘λ©΄μμ μ μ§λ³΄μμ±κ³Ό λμΌν μ€νμΌμ μ μ©ν΄μΌνλ λμμ λ³΄λ€ μ½κ² κ΄λ¦¬ν μ μμ΅λλ€. CSS μ μ²λ¦¬κΈ°μ μ₯μ μ¬μ¬μ©μ± κ³΅ν΅ μμ λλ λ°λ³΅μ μΈ νλͺ©μ λ³μ λλ ν¨μλ‘ λ체 μκ°μ λΉμ© κ°μ μμ ν¨μ λ° Built-in(λ΄μ₯) ν¨μλ‘ μΈν΄ κ°λ° μκ°μ λΉμ© μ μ½ μ μ§ κ΄λ¦¬ μ€μ²©, μμκ³Ό κ°μ μμλ‘ μΈν΄ ꡬ쑰νλ μ½λλ‘ μ μ§ λ° κ΄λ¦¬κ° μ©μ΄ CSS μ μ²λ¦¬κΈ°μ λ¨μ λΈλΌμ°μ λ CSSλ§ λμνκΈ° λλ¬Έμ μ μ²λ¦¬κΈ°λ μ§μ λμμν¬ μκ° μμ΅λλ€. λ°λΌμ CSSλ‘ μ»΄νμΌ ν λμμμΌμΌ ν©λλ€. CSS μ μ²λ¦¬κΈ° μ’
λ₯ Sass Less Stylus μ°Έκ³ MDN, css_preprocessor https://fathory.tistory.com/30 https://kdydesig..
π Front-End/CSS
λ§μ μΉμ¬μ΄νΈμμ μ λλ©μ΄μ
ν¨κ³Όλ₯Ό λΆμ¬ν λ CSSμ transition/animation μμ±μ μ¬μ©ν μ μκ³ JavaScriptμ setInterval()/requestAnimationFrame() μ μ¬μ©ν μ μμ΅λλ€. νμ§λ§ κ°κ°μ μ¬μ©ν λμ νΉμ§μ΄ λ€λ₯΄κ³ μ₯λ¨μ μ΄ λ€λ¦
λλ€. CSS μ λλ©μ΄μ
κ°λ¨νκ² μ²λ¦¬νλ μ λλ©μ΄μ
μ κ²½μ° CSSλ‘ μ²λ¦¬ ν©λλ€. transform μ translate λ₯Ό μ¬μ©ν΄μ ꡬνν μ μλ μ λλ©μ΄μ
μ JavaScriptμ style.top κ³Ό style.left μμ±μ λ³ν μν€κ² λλ©΄ λΈλΌμ°μ λ λλ§ κ³Όμ μμ layout μ΄λ paint λ¨κ³λ₯Ό κ±°μ³μΌ ν κ²½μ°κ° μκΈΈ μ μκΈ° λλ¬Έμ μ±λ₯ κ°μ μ ν¨μ¨μ μ΄μ§ μμ μ μμ΅λλ€. CSS μ λλ©μ΄μ
νΉμ§ μΈλΆ λΌμ΄..
π Front-End/CSS
μΉ λΈλΌμ°μ λ§λ€ κ°μμ HTMLμμμ κΈ°λ³Έ μ€νμΌμ κ°μ§κ³ μμ΅λλ€. CSS μ€νμΌλ§μ μ μ©ν λ μ΄λ¬ν κΈ°λ³Έ μ€νμΌλ§λ€μ΄ λ°©ν΄λ₯Ό ν λΏλλ¬, λΈλΌμ°μ λ§λ€ λ€λ₯Έ HTML μμμ λν κΈ°λ³Έ κ° λλ¬Έμ μΌμ΄λλ ν¬λ‘μ€ λΈλΌμ°μ§ μ λ§κΈ° μν΄μ μ
λλ€. Reset CSS μμ ν CSS λ₯Ό μ무κ²λ μλ λ°±μ§μ²λΌ μ΄κΈ°ν ν©λλ€. μ£Όμ : https://meyerweb.com/eric/tools/css/reset/ μ₯μ λ€λ₯Έ λΆλΆμ μ κ²½μ μ°μ§ μμλ λλ μ₯μ μ΄ μμ΅λλ€. -> λͺ¨λ κ²μ resetνκ³ μμνκΈ° λλ¬Έμ κ³ λ €ν΄μΌν λ³μκ° μ μ΅λλ€. λ¨μ μ μ©λλ μ€νμΌμ΄ νλλ μκΈ° λλ¬Έμ μ€νλ € μ½λμ κΈΈμ΄κ° κΈΈμ΄μ§ μλ μμ΅λλ€. λΈλΌμ°μ λ κ³μ ν΄μ μ
λ°μ΄νΈλκ³ μλ λ°λ©΄, 리μ
CSSμ μ΅κ·Ό μ
λ°μ΄νΈλ 20..
π Front-End/CSS
CSS μ°μ μμ μμ± κ° λ€μ !important λ₯Ό λΆμΈ μμ± HTML μμ styleμ μ§μ μ§μ ν μμ±(inline λ°©μ) #id λ‘ μ§μ ν μμ± .class λ‘ μ§μ ν μμ± νκ·Έμ΄λ¦ μΌλ‘ μ§μ ν μμ± μμ κ°μ²΄μ μν΄ μμ λ μμ±
π Front-End/CSS
z-index μμ±μ κ²ΉμΉλ μμμ μμ μμλ₯Ό μ μ΄ ν©λλ€. z-index λ position μ absolute, relative, fixed μΌ λλ§ λμνλ©° μμλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ¦, position: static μ΄ μλ κ°μ κ°λ μμμλ§ μν₯μ μ€λλ€. z-index κ·μΉ position μμ±μ΄ μλ νκ·Έλ€μ λμ€λ μμλλ‘ μμ
λλ€. position μμ±μ΄ μλ νκ·Έλ€μ μλ νκ·Έλ€λ³΄λ€ μμ λμ€λ μμλλ‘ μμ
λλ€. position μμ±μ z-indexκΉμ§ μλ€λ©΄ z-indexκ° ν° νκ·Έκ° μμ μμ
λλ€. z-indexμ΄ κ°μ κ°μΌ κ²½μ° HTML ꡬ쑰μ μλμΈ κ²μ΄ λ¨Όμ μ μ© λ©λλ€. z-indexκ° μ무리 ν¬λλΌλ λΆλͺ¨ νκ·Έμ z-indexκ° λ μ°μ μ
λλ€. z-index μ’
λ₯ ..
π Front-End/CSS
μλμ μΈ λ°μν μ λ κΈ°λ³Έμ μΌλ‘ λΈλΌμ°μ μμ HTMLμ ν λΉ λλ ν°νΈ μ¬μ΄μ¦λ 16px μ
λλ€. μ¬μ©νλ μ΄μ ? ν°νΈ μ¬μ΄μ¦λ₯Ό px λ§μ μ¬μ©νμ¬ λνλ΄λ©΄ 컨ν
μ΄λμ μ¬μ΄μ¦κ° λ³κ²½λμ΄λ 컨ν
μΈ κ° κ·Έλλ‘ κ³ μ λ κ°μΌλ‘ μ μ§λ©λλ€. λν, μ¬μ©μκ° λΈλΌμ°μ μμ ν°νΈ μ¬μ΄μ¦ μ€μ μ λ°κΏλ μ ν λ°μνμ§ μμ΅λλ€. em νμ΄ν¬κ·ΈλνΌμμ νμ¬ μ§μ λ ν¬μΈνΈ μ¬μ΄μ¦λ₯Ό λνλ΄λ λ¨μ μ
λλ€. em μ κ²½μ° ν΄λΉ λ¨μκ° μ¬μ©λκ³ μλ λΆλͺ¨μμμ font-size μμ± κ°μ΄ κΈ°μ€ μ
λλ€. Parent Child .parent{ font-size : 8em; } .child{ font-size : 0.5em; } κ°μ₯ μμμ "κΈ°λ³Έμ μΌλ‘ λΈλΌμ°μ μμ HTMLμ ν λΉ λλ ν°νΈ μ¬μ΄μ¦λ 16px μ
λλ€." λΌκ³ μ€λͺ
ν..
π Front-End/CSS
flexλ 1μ°¨μμΌλ‘ μν, μμ§ μμ μ€ νλμ λ°©ν₯μΌλ‘λ§ λ μ΄μμμ λλ μ μμ΅λλ€. display : flex μ λ ¬ νκ³ μ νλ μμλ₯Ό κ°μΈλ λΆλͺ¨μκ² display : flex λ₯Ό μ μΈ ν©λλ€. flex μμ΄ν
λ€μ κ°λ‘ λ°©ν₯μΌλ‘ λ°°μΉλκ³ , μμ μ΄ κ°μ§ λ΄μ©λ¬Όμ width λ§νΌλ§ μ°¨μ§ ν©λλ€. μ μΈ μ, 보μ΄μ§ μλ λ κ°μ μΆ(Axis)μ΄ μκΉλλ€. .flexBox{ display: flex; } λ©μΈμΆ(Main Axis), μμ§μΆ λλ κ΅μ°¨μΆ(Cross Axis) Main axis : flex-direction λ°©ν₯μ λ°λΌ Cross axis : mainκ³Ό μμ§μ μ΄λ£¨λ λ°©ν₯ flex-direction μμλ€μ΄ λ°°μΉλλ μΆμ λ°©ν₯μ κ²°μ νλ μμ± .flexBox{ display: flex; f..
π Front-End/CSS
2μ°¨μμ μΌλ‘ μνκ³Ό μμ§μ λμμ λλ μ μλ λ μ΄μμ λ°©λ² μ
λλ€. display : grid , column κ³Ό rows 1 2 3 4 4 4 4 4 .father{ display: grid; /* μμμ λΆλͺ¨μκ² μ μΈ */ grid-template-columns:250px 250px 250px; /* μνλ μ΄λ§νΌ μ
λ ₯ νλ€ */ grid-template-rows: 100px 80px 300px; /*μνλ rowμ ν¬κΈ°λ₯Ό μ
λ ₯ */ column-gap: 10px; /* column κ°μ μ°¨μ΄ */ row-gap: 10px; } .child{ flex-basis: 300px; background: peru; color: white; font-size: 50px; } repeat .grid{ dis..