[μμ±μ: λ Έν¬μ¬]
π‘Β Float λ Inline-block κ°μ λ°©μλ³΄λ€ ν¨μ¬ κ°νΈνκ² λ μ΄μμμ λ°°μΉ ν μ μλ
Flex κΈ°λ₯μ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
Flex - ν λ°©ν₯ λ μ΄μμ μμ€ν (1μ°¨μ)
Grid - λ λ°©ν₯ λ μ΄μμ μμ€ν
(2μ°¨μ)
Grid κ° λ μ΅μ κΈ°λ₯μ΄κΈ° λλ¬Έμ Flex κ° κ΅¬μλ κΈ°μ μ΄ λμ΄λ²λ Έλ€λ μ견λ€λ μμ§λ§
Grid λ‘λ ꡬνμ΄ μ΄λ €μ΄ λ μ΄μμμ΄κ±°λ
Flex λ₯Ό μ°λκ² λ νΈλ¦¬ν κ²½μ°κ° μκΈ° λλ¬Έμ λκ°μ§ λͺ¨λλ₯Ό μ΅νλ κ²μ΄ μ’μ΅λλ€.
Flex μ μμ±λ€μ
- 컨ν μ΄λμ μ μ©νλ μμ±
- μμ΄ν μ μ μ©νλ μμ±
λκ°μ§λ‘ λλ©λλ€.
- display: flex;
μ΄λ° μμΌλ‘ λ°°μΉλμ΄ μλ λ μ΄μμμ
display: flex;
ν μ€μ μ μ©νλ©΄
Flex λ κ°λ‘λ°°μΉκ° κΈ°λ³Έμ΄λ―λ‘ μ΄λ κ² κ°λ‘λ‘ λ°°μΉλ©λλ€.
μ¬κΈ°μ container μ height λ₯Ό μ§μ ν΄μ£Όκ³ item μλ μ§μ λ height κ° μλ€λ©΄?
container μ height λ₯Ό λ°λΌ item μ height λ λμ΄λ©λλ€.
- λ°°μΉ λ°©ν₯ μ€μ
flex-direction: ;
μμ΄ν
λ€μ΄ λ°°μΉλλ μΆμ λ°©ν₯μ κ²°μ νλ μμ±μ
λλ€.
κ°λ‘ | row (κΈ°λ³Έκ°) | row-reverse |
---|---|---|
μΈλ‘ | column | column-reverse |
- μ€λκΉ μ²λ¦¬ μ€μ
flex-wrap: ;
컨ν μ΄λμ μμ΄ν λ€μ ν μ€μ λ΄μ 곡κ°μ΄ λλ μμ λ
μ€λ°κΏμ μ΄λ»κ² ν μ§ κ²°μ νλ μμ±μ λλ€.
- nowrap (κΈ°λ³Έκ°)
μ€λ°κΏμ νμ§ μκ³ , λμΉλ©΄ μμ΄ν μ΄ μμ Έλκ°λλ€.
- wrap
μ€λ°κΏμ ν©λλ€.
- wrap-reverse
μ€λ°κΏμ νλ©° μμ΄ν μ μμμΌλ‘ λ°°μΉν©λλ€.
- flex-flow
flex-direction κ³Ό flex-wrap μ νλ²μ μ§μ ν μ μλ λ¨μΆ μμ±μΌλ‘,
flex-direction, flex-wrap μ μμΌλ‘ ν μΉΈ λΌκ³ μ¨μ£Όλ©΄ λ©λλ€.
ex) flex-flow: row wrap;
- λ©μΈμΆ λ°©ν₯ μ λ ¬
justify-content: ;
λ©μΈμΆ λ°©ν₯μΌλ‘ μμ΄ν λ€μ μ λ ¬νλ μμ±μ λλ€.
- flex-start (κΈ°λ³Έκ°)
μμμ λΆν° μμ΄ν λ€μ μ λ ¬ν©λλ€.
row λ°°μΉμΌ λλ μΌμͺ½, column λ°°μΉμΌ λλ μλΆν° λ°°μΉλ©λλ€.
- flex-end
λμ λΆν° μμ΄ν λ€μ μ λ ¬ν©λλ€.
row λ°°μΉμΌ λλ μ€λ₯Έμͺ½, column λ°°μΉμΌ λλ μλλΆν° λ°°μΉλ©λλ€.
- center
μμ΄ν λ€μ κ°μ΄λ°λ‘ μ λ ¬ν©λλ€.
- space-between
μμ΄ν λ€μ βμ¬μ΄μβ κ· μΌν κ°κ²©μ λ§λ€μ΄ μ€λλ€.
- space-around
μμ΄ν λ€μ βλλ μβ κ· μΌν κ°κ²©μ λ§λ€μ΄ μ€λλ€.
- space-evenly
μμ΄ν λ€μ βμ¬μ΄μ μ λμβ κ· μΌν κ°κ²©μ λ§λ€μ΄ μ€λλ€.
IEμ μ£μ§(Edge)μμλ μ§μλμ§ μμ΅λλ€.
- μμ§μΆ λ°©ν₯ μ λ ¬
align-items: ;
justify-content μ μμ§ λ°©ν₯μ μ λ ¬μ μ€μ νλ μμ±μ λλ€.
- stretch (κΈ°λ³Έκ°)
μμ΄ν λ€μ΄ μμ§μΆ λ°©ν₯μΌλ‘ λκΉμ§ λμ΄λ©λλ€.
- flex-start
μμ΄ν λ€μ μμμ μΌλ‘ μ λ ¬ν©λλ€.
row λ°°μΉμΌ λλ μ, column λ°°μΉμΌ λλ μΌμͺ½λΆν° λ°°μΉλ©λλ€.
- flex-end
μμ΄ν λ€μ λμ μΌλ‘ μ λ ¬ν©λλ€.
row λ°°μΉμΌ λλ μλ, column λ°°μΉμΌ λλ μ€λ₯Έμͺ½λΆν° λ°°μΉλ©λλ€.
- center
μμ΄ν λ€μ κ°μ΄λ°λ‘ μ λ ¬ν©λλ€.
- baseline
μμ΄ν λ€μ ν μ€νΈ λ² μ΄μ€λΌμΈ κΈ°μ€μ μ λ ¬ν©λλ€.
κ·Έλμ,
justify-content: center;
align-item: center;
λ₯Ό ν΄μ£Όλ©΄ μμ΄ν μ κ°μ΄λ°μ λ°°μΉμν€λ κ²λ κ΅μ₯ν μ½μ΅λλ€.
μ§ !
- κΈ°λ³Έ μμ
flex-basis: ;
Flex μμ΄ν μ κΈ°λ³Έ ν¬κΈ°λ₯Ό μ€μ ν©λλ€.
flex-directionμ΄ row μΌ λλ λλΉ, column μΌ λλ λμ΄λ₯Ό μ€μ ν©λλ€.
- auto (κΈ°λ³Έκ°)
ν΄λΉ μμ΄ν μ width κ°μ μ¬μ©ν©λλ€.
width κ°μ΄ μλ€λ©΄ 컨ν μΈ μ ν¬κΈ°λ₯Ό μ¬μ©ν©λλ€.
- 0; %; px, rem λ¨μ
κ°μ’ λ¨μμ μλ‘ μ€μ ν μ μμ΅λλ€.
- content
컨ν μΈ μ ν¬κΈ°λ‘ μ€μ νλ κ²μΌλ‘,
width λ₯Ό λ°λ‘ μ€μ νμ§ μμ κ²½μ°μ κ°μ΅λλ€.
- μ μ°νκ² λ리기
flex-grow: ;
flex-basis: ; μ κ°λ³΄λ€ μ»€μ§ μ μλμ§ κ²°μ νλ μμ±μ λλ€.
flex-grow μλ μ«μκ°μ΄ λ€μ΄κ°λλ°, λͺμ΄λ 0λ³΄λ€ ν° κ°μ΄ μ ν λλ€λ©΄
ν΄λΉ μμ΄ν μ΄ Flexible λ°μ€λ‘ λ³νκ³
μλμ ν¬κΈ°λ³΄λ€ μ»€μ Έμ λΉ κ³΅κ°μ λ©μ°κ² λ©λλ€.
κΈ°λ³Έκ°μ΄ 0 μ΄κΈ° λλ¬Έμ λ°λ‘ μ ν νκΈ° μ κΉμ§λ μμ΄ν μ΄ λμ΄λμ§ μμ΅λλ€.
μ¬κΈ°μ μ«μμ μλ―Έλ μμ΄ν λ€μ flex-basis λ₯Ό μ μΈν μ¬λ°± λΆλΆμ
flex-grow μ μ§μ λ μ«μμ λΉμ¨λ‘ λλμ΄ κ°μ§λ€κ³ μκ°νλ©΄ λ©λλ€.
- μ μ°νκ² μ€μ΄κΈ°
flex-shrink: ;
flex-basis: ; μ κ°λ³΄λ€ μμμ§ μ μλμ§ κ²°μ νλ μμ±μ λλ€.
flex-shrink μλ μ«μκ°μ΄ λ€μ΄κ°λλ°, λͺμ΄λ 0λ³΄λ€ ν° κ°μ΄ μ ν λλ€λ©΄
ν΄λΉ μμ΄ν μ΄ Flexible λ°μ€λ‘ λ³νκ³ μλμ flex-basis λ³΄λ€ μμμ§λλ€.
κΈ°λ³Έκ°μ΄ 1 μ΄κΈ° λλ¬Έμ λ°λ‘ μ ν νμ§ μμλ μμ΄ν μ΄ flex-basis λ³΄λ€ μμμ§ μ μμ΅λλ€.
.item:nth-child(1) {
flex-grow: 1;
}
.item:nth-child(2) {
flex-shrink: 0;
width: 100px;
}
κ·Έλμ μμ κ°μ μ ν μ μ μ©νκ² λλ©΄,
μ΄λ κ² λλ²μ§Έ μμ΄ν μ flex-shrink κ° 0 μ΄λ―λ‘
100px λ‘ μ¬μ΄μ¦κ° κ³ μ λκ³
첫λ²μ¨° μμ΄ν μ flex-grow κ° 1μ κ°μ κ°μ§λ―λ‘
λ¨μ μμμ λͺ¨λ μ±μ°κ² λ©λλ€.
μΉνμ΄μ§μ μ¬μ΄μ¦λ₯Ό μ무리 μ€μ¬λ
μ΄μ κ°μ΄ 100px μ κ³ μ μ μ΄κ³
flex-grow: 1; μ κ°μ κ°λ μμ΄ν μ΄ μ λμ μΌλ‘ λ¨μ μμμ μ±μ°κ² λ©λλ€.
- flex
flex-grow, flex-shrink, flex-basis λ₯Ό ν λ²μ μΈ μ μλ μΆμ½ν μμ±μ λλ€.
μ΄ μΈ μμ±λ€μ μλ‘ κ΄λ ¨μ΄ κΉκΈ° λλ¬Έμ, μ΄ μΆμ½νμ μ°λ μͺ½μ΄ νΈλ¦¬ν©λλ€.
flex: 1;
/* flex-grow: 1; flex-shrink: 1; flex-basis: 0%; */
flex: 1 1 auto;
/* flex-grow: 1; flex-shrink: 1; flex-basis: auto; */
flex: 1 500px;
/* flex-grow: 1; flex-shrink: 1; flex-basis: 500px; */
μμ κ°μ΄ μΆμ½νμ¬ μ¬μ©ν©λλ€.
μ°Έκ³ ν μ μ, flex: 1; μ²λΌ flex-basis λ₯Ό μλ΅νλ©΄ flex-basisμ κ°μ 0μ΄ λ©λλ€.