display : flex
π‘ μ€μν μ !
1. flexboxλ νμ λΆλͺ¨μκ² λ§μ κ±Έμ΄ μμ μμλ€μ μ‘°μ’ νλ€
2. Main Axisμ Cross Axisλ νμ κ³ μ μ μ΄μ§λ μλ€
row
κ°λ‘ μ λ ¬ ( μ’ -> μ° ) (κΈ°λ³Έκ°)
column
μΈλ‘ μ λ ¬ ( μ -> ν )
row-reverse
λ°λλ‘ κ°λ‘ μ λ ¬ ( μ° -> μ’ )
column-reverse
λ°λλ‘ μΈλ‘ μ λ ¬ ( ν -> μ)
βοΈ column-reverse / row-reverse μ¬μ©μ μμλ€μ start(μ’)μ end(μ°)μ μμ λ€λ°λ
nowrap
κΈ°λ³Έκ°
wrap
λ°μ€μ λ§λ λλ‘ μ€λ°κΏ
wrap-reverse
λ°λλ‘ μ€λ°κΏ (λ°μμλΆν°)
βοΈ μμλ€μ ν¬κΈ°κ° 컨ν μ΄λλ³΄λ€ ν΄ λ μ€λ°κΏμ μ€μ ν΄ μ£Όμ§ μμΌλ©΄ 컨ν μ΄λ λ°μΌλ‘ λΉ μ Έλκ° μ μμ
1) flex-direction : row μΈ κ²½μ° (μ λ ¬μΆμ΄ μμ§λ°©ν₯μΈ κ²½μ°)
flex-start
μΌμͺ½μΌλ‘ κ°λ‘ μ λ ¬
flex-end
μ€λ₯Έμͺ½μΌλ‘ κ°λ‘ μ λ ¬
center
μλ€μ 컨ν μ΄λμ μΈλ‘μ μμ μμͺ½μΌλ‘ κ°μ΄λ°λ‘ κ°λ‘ μ λ ¬
space-between
μμλ€ μ¬μ΄μ λμΌν κ°κ²©μ λκ³ κ°λ‘ μ λ ¬
space-around
μμλ€ μμͺ½μ λμΌν κ°κ²©μ λκ³ κ°λ‘ μ λ ¬
β
2) flex-direction : column μΈ κ²½μ° (μ λ ¬μΆμ΄ μνλ°©ν₯μΈ κ²½μ°)
flex-start
μμͺ½μΌλ‘ μΈλ‘ μ λ ¬ (μ’ -> μ / μ° -> ν λ‘ λ°λ)
flex-end
μλμͺ½μΌλ‘ μΈλ‘ μ λ ¬
center
μμλ€μ 컨ν μ΄λμ κ°λ‘μ μμ μμͺ½μΌλ‘ κ°μ΄λ°λ‘ μ λ ¬
pace-between
μμλ€ μ¬μ΄μ λμΌν κ°κ²©μ λκ³ κ°λ‘ μ λ ¬
space-around
μμλ€ μμͺ½μ λμΌν κ°κ²©μ λκ³ κ°λ‘ μ λ ¬
1) flex-direction : row μΈ κ²½μ° (μ λ ¬μΆμ΄ μμ§λ°©ν₯μΈ κ²½μ°)
stretch
μμλ€μ 컨ν μ΄λμ λ§λλ‘ λλ¦Ό
flex-start
μμλ€μ 컨ν μ΄λμ μμͺ½μΌλ‘ κ°λ‘ μ λ ¬
flex-end
μμλ€μ 컨ν μ΄λμ λ°λ₯μΌλ‘ κ°λ‘ μ λ ¬
center
μμλ€μ 컨ν μ΄λμ μΈλ‘μ μμ κ°μ΄λ°λ‘ κ°λ‘ μ λ ¬
baseline
μμλ€μ 컨ν μ΄λμ μμ μμΉμ κ°λ‘ μ λ ¬
β
2) flex-direction : column μΈ κ²½μ° (μ λ ¬μΆμ΄ μνλ°©ν₯μΈ κ²½μ°)
stretch
μμλ€μ 컨ν μ΄λμ λ§λλ‘ λλ¦Ό
flex-start
μμλ€μ 컨ν μ΄λμ μμͺ½μΌλ‘ μΈλ‘ μ λ ¬
flex-end
μμλ€μ 컨ν μ΄λμ λ°λ₯μΌλ‘ μΈλ‘ μ λ ¬
centr
μμλ€μ 컨ν μ΄λμ κ°λ‘μ μμ κ°μ΄λ°λ‘ μΈλ‘ μ λ ¬
baseline
μμλ€μ 컨ν μ΄λμ μμ μμΉμ μΈλ‘ μ λ ¬
- grow (ν½μ°½ μ§μ)
μ λ ¬μΆ λ°©ν₯μΌλ‘ λΉ κ³΅κ°μ΄ μμ λ, μμ μμμ ν¬κΈ°κ° κ°κ° μΌλ§λ λμ΄λμ λ¨λ 곡κ°μ μ°¨μ§ν κ²μΈμ§ λΉμ¨ μ νλ κ² (λΉμ¨μ΄ ν΄μλ‘ λ§μ΄ μ°¨μ§)
- shrink (μμΆ μ§μ)
μμμ ν¬κΈ°κ° μ€μ΄λ€μ΄μΌ ν λ μΌλ§λ μ€μ΄λ€ κ²μΈμ§
(μ€μ ν¬κΈ°λ₯Ό μμΈ‘νκΈ°κ° μ΄λ €μ flex-shrink μμ±μ κΈ°λ³Έκ°μΈ 1λ‘ λμ΄λ 무방)
(flex-shrinkλ₯Ό 0μΌλ‘ μΈν νλ©΄ μμ΄ν μ ν¬κΈ°κ° flex-basisλ³΄λ€ μμμ§μ§ μμ)
- basis(κΈ°λ³Έ ν¬κΈ°)
flex-grow λ flex-shrink μ μν΄ λμ΄λκ±°λ μ€μ΄λ€κΈ° μ μ κ°μ§λ μμλ€μ κΈ°λ³Έ ν¬κΈ°
0 1 auto
κ° λ¨ flex-grow: 0; //βλΉκ³΅κ°μ΄ μμ΄λ λμ΄λμ§ μμβ μλ―Έ
flex-shrink: 1;
flex-basis: auto; μ΄λ κ² λ°λ‘ μ€μ λ κ°λ₯νκ³ λλ¨Έμ§ λ°μ€2, λ°μ€3λ 1:1 λΉμ¨λ‘ λλ¨Έμ§ κ³΅κ° μ°¨μ§
Ex.
λ°μ€1
λ°μ€2
λ°μ€3
μ΄ μμ λ κ°κ°μ flex-growλ₯Ό 0:1:1λ‘ μ€μ νκ³ basis ν¬κΈ°λ₯Όflex-basis : 50px
μ΄λ° μμΌλ‘ μ§μ νλ©΄ κ² ν λ리μ mainboxλ₯Ό λλ Έμ λ growκ° 0μΈ λ°μ€1μ ν¬κΈ°λ λκ±°λ μ€μ§ μμ 50pxμ μ μ§
μΈ κ°μ λ°μ€ λͺ¨λ flex-grow : 1 μΌ λ, 1λ² μμλ flex-basis : auto, 2λ² μμλ flex-basis : 0 μΌλ‘ μ€μ ν΄μ£Όμμ΅λλ€. λ μμ μ€ μ€μ λ‘ 1 : 1 : 1 μ λλΉλ₯Ό κ°λ κ²μ μ΄λ μμμΈκ°μ? μ μ΄λ° μ°¨μ΄κ° λ°μν κΉμ?
[ μμ±κ°μ΄ 0μΈ κ²½μ° ]
κΈ°λ³ΈμΆμμ flex-grow, flex-shrink μ€μ λΉμ¨λλ‘ μμ΄ν
λλΉ λ°°λΆνκΈ° λλ¬Έμ λλΉ κ·Έλλ‘ κ΅¬ν κ°λ₯
-> μ€μ λλΉκ° 1:1:1
[ μμ±κ°μ΄ autoμΈ κ²½μ° ]
κΈ°λ³ΈμΆμμ μμ΄ν
μ°¨μ§ κ³΅κ° μ μΈν μ¬λ°±μ μμ΄ν
μ μλμΌλ‘ κ³¨κ³ λ£¨ λ°°λΆ. (μμ΄ν
μ height κ°μ΄ μλ κ²½μ°, κ·Έ μμ λ΄μ© κΈΈμ΄μ μν΄ κ²°μ .)
-> μ€μ λλΉκ° 1:1:1κ³Ό λ€λ₯Ό μ μμ
<div>
λ‘ λλμ΄ μ£Όκ³ κ·Έ μμ <input>
μ΄λ <button>
λ±μ νκ·Έλ₯Ό λ£κΈ°λλ μ λ²μ μμλ°±μμ μ μ¬μ λ¨Ήμλ κ² μκ°λμ μΉ΄μΉ΄μ€μ μ€λΈ(oven)μ μ΄μ©νμ¬ μμλ°± ννμ΄μ§λ₯Ό νλ² μμ΄μ΄ νλ μμΌλ‘ ꡬνν΄λ³΄μλ€ ββββββ
μ΄λ² νμ΅μμλ μ¬μ€ flexbox μμ±μ΄ μ΄ν΄νκΈ° μ΄λ €μμ μ¬λ¬λ² λ΄€λλ°λ μ΄ν΄κ° μ μλλ€
κ·Όλ° κ°κ΅¬λ¦¬ κ²μμ λλ²μ λ νλ€λ³΄λκΉ μ§κΈμ μμ μ΄ν΄λλ€!! μμ λ μΌλ¨ ν΄λ΄μΌ ν΄!
νμ§λ§ λ¬Έμ λ κ°κ΅¬λ¦¬ κ²μμ μ§μ€νλλΌ μΈμ λ flex μμ±λ€μ λ€ μμλ€,, λ€μ λ λ΄μΌκ² λ€ μμ γ
μμ΄μ΄ νλ μ μ€μ΅μ μ¬μ€ νλ²λ ν΄λ³Έ μ μ΄ μκΈ°μ νλ©΄μλ 'μ΄λ κ² νλ κ² λ§λ?' μΆμμ§λ§ κ·Έλλ μ ν΄λΈ κ² κ°λ€! ννμ΄μ§μ μ΅λν λΉμ·νκ² κ΅¬ννλ €κ³ νλ€κ° μκ°μ΄ κ±°μ 3μκ° λ°μ λ κ±Έλ Έλλ° κ·Έλλ λΏλ―νλ€ γ
γ