μ£Όλμ΄ κ°λ°μμ κ°μΈ κ³΅λΆ κ³Όμ μ κΈ°λ‘ν©λλ€.
Flexbox λ?
μΌλͺ flexboxλΌ λΆλ¦¬λ Flexible Box moduleμ flexbox μΈν°νμ΄μ€ λ΄μ μμ΄ν κ° κ³΅κ° λ°°λΆκ³Ό κ°λ ₯ν μ λ ¬ κΈ°λ₯μ μ 곡νκΈ° μν 1μ°¨μ λ μ΄μμ λͺ¨λΈ. flexboxλ₯Ό 1μ°¨μμ΄λΌ μΉνλ κ²μ, λ μ΄μμμ λ€λ£° λ ν λ²μ νλμ μ°¨μ(νμ΄λ μ΄)λ§μ λ€λ£¬λ€λ λ»μ΄λ€.
β¨μ°Έκ³ β¨ 2μ°¨μ λͺ¨λΈ: νκ³Ό μ΄μ ν¨κ» μ‘°μ νλ CSS 그리λ λ μ΄μμ
π©μ§μ€! flexboxλ₯Ό μ μ©νλ €λ©΄, μ μ©νλ €λ μμμ display: flex;
λ₯Ό μ μ©μν¨λ€
β justify-content
- μμμ κ°λ‘ μ λ ¬
-
5κ°μ κ°μΌλ‘ κ°λ‘λ‘ μ λ ¬ μν¬ μ μλ€
flex-start
μμλ€μ 컨ν μ΄λμ μΌμͺ½μΌλ‘ μ λ ¬.flex-end
μμλ€μ 컨ν μ΄λμ μ€λ₯Έμͺ½μΌλ‘ μ λ ¬.center
μμλ€μ 컨ν μ΄λμ κ°μ΄λ°λ‘ μ λ ¬.space-between
μμλ€ μ¬μ΄μ λμΌν κ°κ²©μ λλ€.space-around
μμλ€ μ£Όμμ λμΌν κ°κ²©μ λλ€.
- μμ
#pond {
display: flex;
justify-content: flex-end;
}
- μμ2
#pond {
display: flex;
justify-content: center;
}
- μμ3
#pond {
display: flex;
justify-content: space-around;
}
- μμ4
#pond {
display: flex;
justify-content: space-between;
}
β align-items
- μμμ μΈλ‘ μ λ ¬
-
5κ°μ κ°μΌλ‘ κ°λ‘λ‘ μ λ ¬ μν¬ μ μλ€
flex-start
μμλ€μ 컨ν μ΄λμ κΌλκΈ°λ‘ μ λ ¬.flex-end
μμλ€μ 컨ν μ΄λμ λ°λ₯μΌλ‘ μ λ ¬.center
μμλ€μ 컨ν μ΄λμ μΈλ‘μ μμ κ°μ΄λ°λ‘ μ λ ¬.baseline
μμλ€μ 컨ν μ΄λμ μμ μμΉμ μ λ ¬.stretch
μμλ€μ 컨ν μ΄λμ λ§λλ‘ λλ¦°λ€.
- μμ
#pond {
display: flex;
align-items: flex-end;
}
β justify-content+align-items
#pond {
display: flex;
align-items: center;
justify-content: center;
}
β flex-direction
- μμμ μ λ ¬ λ°©ν₯μ μ§μ
-
4κ°μ κ°μΌλ‘ μ§μ ν μ μλ€
row
μμλ€μ ν μ€νΈμ λ°©ν₯κ³Ό λμΌνκ² μ λ ¬.row-reverse
μμλ€μ ν μ€νΈμ λ°λ λ°©ν₯μΌλ‘ μ λ ¬.column
μμλ€μ μμμ μλλ‘ μ λ ¬.column-reverse
μμλ€μ μλμμ μλ‘ μ λ ¬.
- μμ
#pond {
display: flex;
flex-direction: column;
}
β flex-direction+justify-content
FROGGY λ¨κ³ 10
#pond {
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
}
FROGGY λ¨κ³ 12
#pond {
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
}
FROGGY λ¨κ³ 13
#pond {
display: flex;
flex-direction: row-reverse;
justify-content: center;
align-items: flex-end;
}
β order
- κ° μμμ κ°λ³ μμ μ μ©
- orderμ κΈ°λ³Έ κ°μ 0μ΄λ©°, μμλ μμλ‘ λ°κΏ μ μλ€
- μμ
#pond {
display: flex;
}
.yellow {
order: 1; /* λ
Έλ κ°κ΅¬λ¦¬μ μμλ₯Ό λ€λ‘ λ°κΎΌλ€ */
}
- μμ2
#pond {
display: flex;
}
.red {
order: -1;
}
β align-self
- κ°λ³ μμμ μ μ©νλ μμ±
-
align-items(μΈλ‘ μ λ ¬)μ κ°λ€λ‘ μ§μ νλ€
flex-start
μμλ€μ 컨ν μ΄λμ κΌλκΈ°λ‘ μ λ ¬.flex-end
μμλ€μ 컨ν μ΄λμ λ°λ₯μΌλ‘ μ λ ¬.center
μμλ€μ 컨ν μ΄λμ μΈλ‘μ μμ κ°μ΄λ°λ‘ μ λ ¬.baseline
μμλ€μ 컨ν μ΄λμ μμ μμΉμ μ λ ¬.stretch
μμλ€μ 컨ν μ΄λμ λ§λλ‘ λλ¦°λ€.
- μμ
#pond {
display: flex;
align-items: flex-start;
}
.yellow {
align-self: flex-end;
}
βborder+align-self
FROGGY λ¨κ³ 17
#pond {
display: flex;
align-items: flex-start;
}
.yellow {
order: 1;
align-self: flex-end;
}
β flex-wrap
- μ€ λ°κΏ
-
3κ°μ κ°μΌλ‘ μ§μ ν μ μλ€
nowrap
λͺ¨λ μμλ€μ ν μ€μ μ λ ¬.- `wrap μμλ€μ μ¬λ¬ μ€μ κ±Έμ³ μ λ ¬.
- `wrap-reverse μμλ€μ μ¬λ¬ μ€μ κ±Έμ³ λ°λλ‘ μ λ ¬.
- μμ
#pond {
display: flex;
flex-wrap: wrap;
}
βbflex-direction+flex-wrap
FROGGY λ¨κ³ 19
#pond {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
β flex-flow
- flex-direction+flex-wrap
- μμ
#pond {
display: flex;
flex-flow: column wrap;
}
β align-content
- μ¬λ¬ μ€ μ¬μ΄μ κ°κ²©μ μ§μ
- 5κ°μ κ°μΌλ‘ μ§μ ν μ μλ€
flex-start
μ¬λ¬ μ€λ€μ 컨ν μ΄λμ κΌλκΈ°μ μ λ ¬.flex-end
μ¬λ¬ μ€λ€μ 컨ν μ΄λμ λ°λ₯μ μ λ ¬.center
μ¬λ¬ μ€λ€μ μΈλ‘μ μμ κ°μ΄λ°μ μ λ ¬.space-between
μ¬λ¬ μ€λ€ μ¬μ΄μ λμΌν κ°κ²©μ λλ€.space-around
μ¬λ¬ μ€λ€ μ£Όμμ λμΌν κ°κ²©μ λλ€.stretch
μ¬λ¬ μ€λ€μ 컨ν μ΄λμ λ§λλ‘ λλ¦°λ€.
- π©μ§μ€!
align-content
λ μ¬λ¬ μ€λ€ μ¬μ΄μ κ°κ²©μ μ§μ νλ©°,align-items
λ 컨ν μ΄λ μμμ μ΄λ»κ² λͺ¨λ μμλ€μ΄ μ λ ¬νλμ§λ₯Ό μ§μ νλ€. -
ν μ€λ§ μλ κ²½μ°,
align-conten
tλ ν¨κ³Όλ₯Ό 보μ΄μ§ μλλ€ - μμ
#pond {
display: flex;
flex-wrap: wrap;
align-content: flex-end;
}
β flex-direction+align-content
FROGGY λ¨κ³ 23
#pond {
display: flex;
flex-wrap: wrap;
flex-direction: column-reverse;
align-content: center;
}
β FROGGY λ¨κ³ 24
#pond {
display: flex;
flex-flow: column-reverse wrap-reverse;
justify-content: center;
align-content: space-between;
}