Layoutλ₯Ό μμμΌ νλ μ΄μ
νλ©΄μ ꡬμ±μ μνλ λλ‘ λ°°μΉνκ³ μΆλ€λ©΄?
μΉνμ΄μ§μμ κ°μ₯ λ§μ΄ μ¬μ©λλ CSS μ§μμ μ°μ μ μΌλ‘ μκ³ μΆλ€λ©΄?
μ΄ λ¬Έμλ₯Ό λ³΄κ³ λλ©΄
Box Model, Position, FlexBoxμ λν΄μ μ΄ν΄νκ³ , λ μ΄μμμ ꡬμ±ν΄λ³Ό μ μλ€.
λ μ΄μμ
css νλ‘νΌν°λ μ½ 500κ°κ° λμ μ λλ‘ κ΅μ₯ν λ°©λν©λλ€. κ·Έ css νλ‘νΌν°λ₯Ό μ²μλΆν° λͺ¨λ μλ €κ³ νλ©΄ λμ΄ μμ ν
λ°μ. λλ μ§ μ΄λ €μΈ μλ‘ μ λ΅μ΄ νμν©λλ€. μμ£Ό μ¬μ©νλ css νλ‘νΌν°λ€μ΄ μ΄λ€ κ²μΈμ§ μλ€λ©΄ ν¨μ¬ λͺ
νν΄μ§κ² μ£ ?
https://chromestatus.com/metrics/css/popularity μ΄ λ§ν¬λ ν¬λ‘¬μμ μ 곡νλ ν¬λ‘¬μμ μμ£Ό μ¬μ©λλ css νλ‘νΌν° λνΉμ 보μ¬μ£Όκ³ μμ΅λλ€. κ°μ₯ μμμ μλ κ²λ€μ λ μ΄μμκ³Ό κ΄λ ¨λ κ°μ
λλ€. λ μ΄μμμ λ§€μ° μ€μν©λλ€. μ΄μκ² κΎΈλ©°μ£Όλ건 μ¬λ¬ λμμΈ λΌμ΄λΈλ¬λ¦¬λ‘ κ°λ₯νμ§λ§, λ μ΄μμμ μ§μ μμ±ν΄μΌ νλ κ²½μ°κ° λ§κΈ° λλ¬Έμ
λλ€.
Box Model
λ μ΄μμμ μ΄λ£¨λ 2κ°μ§ κΈ°λ³Έ κ°λ
μ ν¬κΈ°μ μμΉμ
λλ€.
μ΄ ν¬κΈ°λ₯Ό μ νλλ° μ€μν κ°λ
μ΄ Box Modelμ
λλ€. λͺ¨λ HTMLμ elementλ μ¬κ°ν λ°μ€μ ννλ₯Ό κ°μ§λλ€. λ€μκ³Ό κ°μ μμ±μ κ°μ§λλ€.
μλμ°¨ κ²½μ£Ό κ²μμμλ μ¬λ¬ κ°μ λ°μ€λ‘ μ΄λ£¨μ΄μ§ μ리먼νΈκ° ꡬμ±
λ³΄ν΅ cssμμ box modelλ₯Ό λ€λ£° λ κ³ λ―Όμ΄ λλ μ§μ μ λ°λ‘ κ²Ήμ³μ§λ λΆλΆμ
λλ€.
μΈμ ν λ κ°μ block elementκ° μλ‘ λ€λ₯Έ marginμ κ°μ§κ³ μλ€λ©΄?
ν° κ°μ κ°μ§ marginκ°μ΄ 곡μ λμ΄ μ¬μ©λ¨
10px + 20px = 20px
μΈμ ν λ κ°μ inline elementμ marginμ?
κ°κ°μ margin μ ν©μΌλ‘ ννλλ€.
10px + 20px = 30px
margin, paddingμ λ€μν μΆμ½νκΈ°λ²
margin : 0px 0px 0px 10px; (top , right , bottom, left)
margin : 10px; (λ€κ°μ λΆλ©΄μ΄ λͺ¨λ 10px)
margin : 10px 15px; (top, bottom μ 10px , right, leftλ 15px)
Plain Text
볡μ¬
μ€μ λ μ΄μμμ λ§λ€ λ, λ³ΈμΈμ΄ μνλ λλ‘ λμνμ§ μλλ€λ©΄, κΌ MDNμ ν΅ν΄ ν΄λΉ μμ±μ λν΄μ νμ΅ν΄λ³΄κ³ λμ΄κ°μ£ΌμΈμ.
Position
positionμ elementλ₯Ό μ΄λ»κ² λ°°μΉν κ²μΈκ°λ₯Ό κ²°μ ν©λλ€. ν¬κ² 4κ°μ§μ μνκ° μμ΅λλ€.
β’
static
β’
absolute
β’
relative
β’
fixed
1) static
λͺ¨λ element μ default κ°μ
λλ€. λ¬Έμμ νλ¦λλ‘ μμΉκ° κ²°μ λ©λλ€.
2) relative
μλ μμΉμ μλμ μΈ μμΉ
relative μμ±μ μ€μ μ¬μ©μ,
absoluteμμ±μ κ°μ§ μμμ κΈ°μ€μ μΌλ‘ λ λ§μ΄ νμ©λ©λλ€.
3) absolute
μ λμ μΈ μμΉμ΄λ©° λ¬Έμμ νλ¦μμ μ μΈ.
κΈ°μ€μ μ μμelement μ€ static μμ±μ΄ μλ element
μμΉμ€μ μ top, bottom μ€ ν κ°μ left, right μ€ νκ°λ₯Ό μ νν΄μ μ€μ
4) fixed
μ§μ ν μ λμ μΈ μμΉλ₯Ό μ°¨μ§
λ¬Έμμ νλ¦μμ μ μΈ.
viewport(보μ΄λ νλ©΄)λ₯Ό κΈ°μ€μΌλ‘ μμΉκ°μ κ°μ§
Flex Box
λλΆλΆμ μΉνμ΄μ§μ λ μ΄μμ ꡬμ±μ μ-μλμ μμ§ κ΅¬μ±μ
λλ€. λ μ΄μμμ ꡬμ±ν λ κ°μ₯ λ§μ΄ μ¬μ©νλ μμλ€μ΄ κΈ°λ³Έμ μΌλ‘ λΈλ‘ ννλ‘ νμλλ©° μ΄λ μμμ μλλ‘ μμ΄κΈ° λλ¬Έμ μμ§ κ΅¬μ±μ μλμ μΌλ‘ μ½κ² λ§λ€ μ μμ΅λλ€.
νμ§λ§ μνꡬμ±μ κ²½μ°λ μν©μ΄ μ‘°κΈ λ€λ¦
λλ€.
λ¬Έμ λ μν ꡬ쑰λ₯Ό λ§λλ μμ±μ΄ λͺ
ννμ§ μμκΈ° λλ¬ΈμΈλ°, κ·Έλμ λ§μ κ²½μ° <table>λ float νΉμ inline-block λ±μ λμμ λ°μμ΅λλ€. νμ§λ§ μ΄λ¬ν λ°©λ²λ€μ λλΆλΆ μν λ μ΄μμ ꡬμ±μ μ°¨μ μ±
μ΄μμ΅λλ€. κ·Έλμ λ§μ μμ§λμ΄λ€μ μ°κ΅¬ κ²°κ³Ό Flex(Flexible Box)λΌλ λͺ
νν κ°λ
μ μ΄μ©νμ¬ λ μ΄μμμ μ½κ² ꡬμ±ν μ μμ΅λλ€.
μλμ°¨ κ²½μ£Ό κ²μμμ λ μ΄μμ ꡬμ±μ μν΄ FlexBoxλ₯Ό μ¬μ©νμμ΅λλ€.
Flexλ μμμ ν¬κΈ°κ° λΆλΆλͺ
νκ±°λ λμ μΈ κ²½μ°μλ, κ° μμλ₯Ό μ λ ¬ν μ μλ ν¨μ¨μ μΈ λ°©λ²μ μ 곡ν©λλ€.
κ°λ₯νλ©΄ νλ©΄μ uiμ μ€μ ν λ FlexBoxλ‘ κ΅¬μ±νλ μ°μ΅ ν΄λ³΄μλ κ²μ μΆμ²ν©λλ€.
FlexBoxμ λν μ΄ν΄λ₯Ό λκΈ° μν μλΉμ€λ μμ΅λλ€.
μ¬μ΄νΈμμ κ²μμ²λΌ flex layoutμ λν΄ νμ΅ν΄λ³Ό μ μμ΄μ!
μ°Έκ³ λ§ν¬
β’
β’
β’
β’