flexboxμ κΈ°λ³Έ κ°λ
μΌλͺ flexboxλΌ λΆλ¦¬λ Flexible Box moduleμ flexbox μΈν°νμ΄μ€ λ΄μ μμ΄ν κ° κ³΅κ° λ°°λΆκ³Ό κ°λ ₯ν μ λ ¬ κΈ°λ₯μ μ 곡νκΈ° μν 1μ°¨μ λ μ΄μμ λͺ¨λΈ λ‘ μ€κ³λμμ΅λλ€. μ΄ κΈμμλ flexboxμ μ£Όμ κΈ°λ₯μ λν κ°μλ₯Ό λ€λ£Ήλλ€. λ μμΈν λ΄μ©μ κ°μ΄λμ λ€λ₯Έ κΈμμ νꡬνκ² λ κ²μ λλ€.
flexboxλ₯Ό 1μ°¨μμ΄λΌ μΉνλ κ²μ, λ μ΄μμμ λ€λ£° λ ν λ²μ νλμ μ°¨μ(νμ΄λ μ΄)λ§μ λ€λ£¬λ€λ λ»μ λλ€. μ΄λ νκ³Ό μ΄μ ν¨κ» μ‘°μ νλ CSS 그리λ λ μ΄μμμ 2μ°¨μ λͺ¨λΈκ³Όλ λμ‘°λ©λλ€.
flexboxμ λ κ°μ μΆ
flexboxλ₯Ό λ€λ£¨λ €λ©΄ μ£ΌμΆκ³Ό κ΅μ°¨μΆμ΄λΌλ λ κ°μ μΆμ λν μ μλ₯Ό μμμΌ ν©λλ€. μ£ΌμΆμ flex-direction μμ±μ μ¬μ©νμ¬ μ§μ νλ©° κ΅μ°¨μΆμ μ΄μ μμ§μΈ μΆμΌλ‘ κ²°μ λ©λλ€. flexboxμ λμμ κ²°κ΅ μ΄ λ κ°μ μΆμ λν λ¬Έμ λ‘ νμλκΈ° λλ¬Έμ μ΄λ€μ΄ μ΄λ»κ² λμνλμ§ μ²μλΆν° μ΄ν΄νλ κ²μ΄ μ€μν©λλ€.
μ£ΌμΆ
μ£ΌμΆμ flex-directionμ μν΄ μ μλλ©° 4κ°μ κ°μ κ°μ§ μ μμ΅λλ€:
rowrow-reversecolumncolumn-reverse
row νΉμ row-reverseλ₯Ό μ ννλ©΄ μ£ΌμΆμ μΈλΌμΈ λ°©ν₯μΌλ‘ νμ λ°λ¦
λλ€.
column νΉμ column-reverse μ μ ννλ©΄ μ£ΌμΆμ νμ΄μ§ μλ¨μμ νλ¨μΌλ‘ λΈλ‘ λ°©ν₯μ λ°λ¦
λλ€.
κ΅μ°¨μΆ
κ΅μ°¨μΆμ μ£ΌμΆμ μμ§νλ―λ‘, λ§μ½ flex-direction(μ£ΌμΆ)μ΄ row λ row-reverse λΌλ©΄ κ΅μ°¨μΆμ μ΄ λ°©ν₯μ λ°λ¦
λλ€.
μ£ΌμΆμ΄ column νΉμ column-reverse λΌλ©΄ κ΅μ°¨μΆμ ν λ°©ν₯μ λ°λ¦
λλ€.
flex μμλ₯Ό μ λ ¬νκ³ λμ λ§μΆ(justify)λ €λ©΄ μ΄λ μΆμ΄ μ΄λ λ°©ν₯μΈμ§ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€; flexboxλ μ£ΌμΆ, κ΅μ°¨μΆμ λ°λΌ νλͺ©μ μ λ ¬νκ³ λμ λ§μΆλ κ°μ’ μμ±λ€μ μ μ©νλ λ°©μμΌλ‘ λμν©λλ€.
μμμ κ³Ό λμ
flexboxκ° μ°κΈ° λ°©λ²(writing mode)μ κ°μ νμ§ μλλ€λ κ²μ μλΉν μ€μν©λλ€. κ³Όκ±°μ CSSλ μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ ν₯νλ κ°λ‘ λ°©ν₯μ μ°κΈ° λ°©λ²μ μΉμ°μ³ μμμ΅λλ€. νμ§λ§ νλμ λ μ΄μμμ λ€μν μ°κΈ° λ°©λ²μ ν¬κ΄ν΄μΌ νλ―λ‘, λμ΄μ ν μ€νΈκ° λ¬Έμμ μΌμͺ½ μλ¨μμ μμν΄μ μ€λ₯Έμͺ½μΌλ‘ ν₯νλ€κ³ κ°μ νμ§ μμ΅λλ€. μ λΌμΈμ΄ νμ μλμ μμΈλ€κ³ κ°μ νμ§λ μμ΅λλ€.
λ€λ₯Έ κΈμμ flexboxμ μ°κΈ° λ°©λ² λͺ μΈ(writing mode spec.)κ° μ΄λ€ κ΄λ ¨μ΄ μλμ§ μμλ³Ό μ μμ΅λλ€. κ·Έ μ μ, μ΄ κΈμμ flex μμμ μ λ ¬ λ°©ν₯μ "μΌμͺ½, μ€λ₯Έμͺ½, μ, μλ"λ₯Ό μ¬μ©νμ§ μλ μ΄μ λ₯Ό μ μ μμμΌλ©΄ ν©λλ€.
flex-directionμ΄ rowκ³ μμ΄ λ¬Έμ₯μ λ¬Έμμ μ°κ³ μλ€λ©΄, μ£ΌμΆμ μμμ μ μΌμͺ½ λ, λμ μ μ€λ₯Έμͺ½ λμ΄ λ κ²μ
λλ€.
μλμ΄ λ¬Έμ₯μ μ°κ³ μλ€λ©΄, μ£ΌμΆμ μμμ μ μ€λ₯Έμͺ½ λ, λ μ μ μΌμͺ½ λμ΄ λ κ²μ λλ€.
μμ΄μ μλμ΄λ λͺ¨λ κ°λ‘ μ°κΈ°λ₯Ό μ±ννκ³ μμΌλ―λ‘ λ μμμμ κ΅μ°¨μΆμ μμμ μ flex 컨ν μ΄λμ μ λμ΄λ©° λμ μ μλ λμ λλ€.
μ‘°κΈλ§ μ§λλ©΄ μΌμͺ½-μ€λ₯Έμͺ½μΌλ‘ μκ°νλ κ²λ³΄λ€ μμμ -λμ μΌλ‘ μκ°νλ κ²μ΄ κΈμ μμ°μ€λ¬μμ§ κ²μ λλ€. λμΌν ν¨ν΄μ λ°λ₯΄λ CSS 그리λ λ μ΄μμ κ°μ λ°©λ²μ λ€λ£° λλ μ½κ² μ μν μ μμ κ²μ λλ€.
flex 컨ν μ΄λ
λ¬Έμμ μμ μ€μμ flexboxκ° λμ¬μλ μμμ flex 컨ν
μ΄λλΌκ³ λΆλ¦
λλ€. flex 컨ν
μ΄λλ₯Ό μμ±νλ €λ©΄ μμ λ΄μ 컨ν
μ΄λ μμμ display κ°μ flex νΉμ inline-flexλ‘ μ§μ ν©λλ€. μ΄ κ°μ΄ μ§μ λ 컨ν
μ΄λμ μΌμ°¨ μμ(direct children) μμκ° flex νλͺ©μ΄ λ©λλ€. display μμ±λ§ μ§μ νμ¬ flex 컨ν
μ΄λλ₯Ό μμ±νλ©΄ λ€λ₯Έ flex κ΄λ ¨ μμ±λ€μ μλμ²λΌ κΈ°λ³Έ κ°μ΄ μ§μ λ©λλ€.
- νλͺ©μ νμΌλ‘ λμ΄λ©λλ€. (
flex-directionμμ±μ κΈ°λ³Έκ°μrowμ λλ€). - νλͺ©μ μ£ΌμΆμ μμ μ μμ μμν©λλ€.
- νλͺ©μ μ£Ό μ°¨μ μμμ λμ΄λμ§λ μμ§λ§ μ€μ΄λ€ μ μμ΅λλ€.
- νλͺ©μ κ΅μ°¨μΆμ ν¬κΈ°λ₯Ό μ±μ°κΈ° μν΄ λμ΄λ©λλ€.
flex-basisμμ±μautoλ‘ μ§μ λ©λλ€.flex-wrapμμ±μnowrapμΌλ‘ μ§μ λ©λλ€.
μ΄λ κ²λλ©΄ flex νλͺ©λ€μ κ° νλͺ© λ³ λ΄λΆ μμμ ν¬κΈ°λ‘ μ£ΌμΆμ λ°λΌ μ λ ¬λ©λλ€. 컨ν μ΄λμ ν¬κΈ°λ³΄λ€ λ λ§μ νλͺ©μ΄ μμ κ²½μ° νμ λ°κΎΈμ§ μκ³ μ£ΌμΆ λ°©ν₯μΌλ‘ νλ¬ λμΉκ² λ©λλ€. μ΄λ€ νλͺ©μ΄ λ€λ₯Έ νλͺ©λ³΄λ€ λμ΄ κ°μ΄ ν¬λ€λ©΄ λλ¨Έμ§ λͺ¨λ νλͺ©λ€μ κ·Έμ λ§κ² κ΅μ°¨μΆμ λ°λΌ λμ΄λκ² λ©λλ€.
λ€μμ λΌμ΄λΈ μμλ₯Ό ν΅ν΄ μ΄λ»κ² 보μ¬μ§λμ§ νμΈν μ μμ΅λλ€. flexboxμ μ΄κΈ° λμμ μνν΄λ³΄λ €λ©΄ νλͺ©μ μΆκ°νκ±°λ μμ ν΄λ³΄μκΈ° λ°λλλ€.
flex-direction μ§μ
flex 컨ν
μ΄λμ flex-direction μμ±μ μ§μ νλ©΄ flex νλͺ©μ΄ λμ΄λλ λ°©ν₯μ λ³κ²½ν μ μμ΅λλ€. flex-direction: row-reverse λΌκ³ μ§μ νλ©΄ νμΌλ‘ λμ΄λλ κ²μ κ·Έλλ‘μ§λ§ μμ μ κ³Ό λ μ μ΄ μλ‘ λ°λκ² λ©λλ€.
flex-directionμ columnμΌλ‘ μ§μ νλ©΄ μ£ΌμΆμ΄ λ³κ²½λκ³ νλͺ©λ€μ μ΄λ‘ λμ΄λ©λλ€. column-reverseλ‘ μ§μ νλ©΄ κ·Έμ λν΄ μμ μ κ³Ό λ μ μ΄ μλ‘ λ°λκ² λ©λλ€.
λ€μμ λΌμ΄λΈ μμλ flex-directionμ΄ row-reverseλ‘ μ§μ λμ΄ μμ΅λλ€. row, column, column-reverseμ κ°μ κ°μ μ§μ ν΄μ μ΄λ»κ² λλμ§ νμΈν΄λ³΄μκΈ° λ°λλλ€.
flex-wrapμ μ΄μ©ν 볡μ ν flex 컨ν μ΄λ μ§μ
flexboxλ 1μ°¨μ λͺ¨λΈμ΄μ§λ§ flex νλͺ©μ΄ μ¬λ¬ νμ λμ΄λλλ‘ ν μ μμ΅λλ€. κ·Έ κ²½μ° κ° νμ΄ μλ‘μ΄ flex 컨ν μ΄λλΌκ³ μκ°ν΄μΌ ν©λλ€. κ³΅κ° λ°°λΆμ ν΄λΉ νμμλ§ μ΄λ£¨μ΄μ§λ©° λ€λ₯Έ νμ μν₯μ λ°μ§ μμ΅λλ€.
νλͺ©μ΄ μ¬λ¬ νμ λμ΄λλλ‘ νλ €λ©΄ flex-wrap μμ±μ κ°μ wrapμΌλ‘ μ§μ ν©λλ€. κ·Έλ¬λ©΄ νλͺ©μ΄ νλμ νμ λ€μ΄κ°μ§ μμ μ λλ‘ ν΄ κ²½μ° λ€λ₯Έ νμ λ°°μΉλ©λλ€. μλμ λΌμ΄λΈ μμμ μλ flex νλͺ©μ νμ΄ μ§μ λμ΄ μμΌλ©° νλͺ©λ€μ νμ ν©μ flex 컨ν
μ΄λμ λ€μ΄κ°κΈ°μλ λ무 λμ΅λλ€. flex-wrapμμ±μ΄ wrapμΌλ‘ μ§μ λμ΄ μμΌλ―λ‘ νλͺ©μ μ¬λ¬ νμ λμ΄λ©λλ€. μ΄κΉκ°κ³Ό λμΌν nowrapμ μ§μ νκ³ flexνλͺ©μ λν νλ/μΆμ λ°©μμ λ³λλ‘ μ§μ νμ§ μμΌλ©΄ flex νλͺ©λ€μ 컨ν
μ΄λμ νμ λ§κ² μ€μ΄λλλ€. nowrapμ μ§μ νλ©΄ νλͺ©μ΄ μ ν μ€μ΄λ€ μ μκ±°λ μΆ©λΆν μ€μ΄λ€ μ μμ λ νλ¬λμΉκ² λ©λλ€.
Mastering Wrapping of Flex Items κ°μ΄λμμ λ μμΈν λ΄μ©μ νμΈν μ μμ΅λλ€.
μΆμ½ν μμ± flex-flow
flex-direction μμ±κ³Ό flex-wrap μμ±μ flex-flowλΌλ μΆμ½ μμ±μΌλ‘ ν©μΉ μ μμ΅λλ€. 첫 λ²μ§Έ κ°μ flex-directionμ΄κ³ λ λ²μ§Έ κ°μ flex-wrapμ
λλ€.
λ€μμ λΌμ΄λΈ μμμμ 첫 λ²μ§Έ κ°μ flex-directionμ μ§μ κ°λ₯ν κ°λ€(row, row-reverse, column or column-reverse)λ‘ λ°κΏλ³΄μκΈ° λ°λλλ€. λ λ²μ§Έ κ°λ wrapμ΄λ nowrapμΌλ‘ λ°κΏλ³΄μκΈ° λ°λλλ€.
flex νλͺ©μ μ§μ κ°λ₯ν μμ±λ€
flex νλͺ©μ μ μ©ν μ μλ μμ±μ λ€μκ³Ό κ°μ΅λλ€.
μ΄ κΈμμλ μμ μμ±λ€μ λν΄ κ°λ΅νκ² μ΄ν΄λ³΄κ² μ΅λλ€. μμΈν λ΄μ©μ Controlling Ratios of Flex Items on the Main Axisμμ λ€λ£Ήλλ€.
500 ν½μ μ ν¬κΈ°λ₯Ό κ°λ flex 컨ν μ΄λ λ΄μ 100 ν½μ ν¬κΈ°μ μμ μΈ κ°κ° μ‘΄μ¬ν λ, μ¬μ©κ°λ₯ν κ³΅κ° 200 ν½μ μ΄ λ¨κ² λ©λλ€. κΈ°λ³Έμ μΌλ‘ flexboxλ μ΄ κ³΅κ°μ λ§μ§λ§ μμ μμ λ€μμ λΉκ³΅κ°μΌλ‘ λ¨κ²¨λ‘λλ€.
μμ μΈ κ°μ§ μμ±μ λ³κ²½νλ€λ κ²μ flex νλͺ©μκ² μ¬μ©κ°λ₯ν 곡κ°μ λΆλ°°νλ λ°©μμ λ³κ²½νλ κ²μ λλ€. μ¬μ©κ°λ₯ν κ³΅κ° κ°λ μ flex νλͺ©μ μ λ ¬ν λ νΉν μ€μν©λλ€.
flex-basis μμ±
flex-basis μμ±μ νλͺ©μ ν¬κΈ°λ₯Ό κ²°μ ν©λλ€. μ΄ μμ±μ κΈ°λ³Έκ°μ autoμ΄λ©°, μ΄ κ²½μ° λΈλΌμ°μ λ νλͺ©μ΄ ν¬κΈ°λ₯Ό κ°λμ§ νμΈν©λλ€. μμ μ¬μ§ μμμ κ²½μ° νλͺ©μ ν¬κΈ°κ° 100 ν½μ
μ΄λ―λ‘ flex-basisμ κ°μΌλ‘ 100 ν½μ
μ΄ μ¬μ©λ©λλ€.
flex νλͺ©μ ν¬κΈ°κ° μ§μ λμ΄ μμ§ μμΌλ©΄, flex νλͺ©μ λ΄μ©λ¬Ό ν¬κΈ°κ° flex-basis κ°μΌλ‘ μ¬μ©λ©λλ€. λ°λΌμ flex 컨ν
μ΄λμμ display: flex μμ±λ§μ μ§μ νλ©΄ flexνλͺ©λ€μ΄ κ° λ΄μ©λ¬Ό ν¬κΈ°λ§νΌ 곡κ°μ μ°¨μ§νκ² λ©λλ€.
flex-grow μμ±
flex-growκ°μ μμλ‘ μ§μ νλ©΄ flex νλͺ©λ³λ‘ μ£ΌμΆ λ°©ν₯ ν¬κΈ°κ° flex-basis κ° μ΄μμΌλ‘ λμ΄λ μ μκ² λ©λλ€. μμ μ¬μ§ μμμμ λͺ¨λ νλͺ©μ flex-grow κ°μ 1λ‘ μ§μ νλ©΄ μ¬μ©κ°λ₯ν 곡κ°μ κ° νλͺ©μκ² λμΌνκ² λΆλ°°λλ©°, κ° νλͺ©μ μ£ΌμΆμ λ°λΌ λΆλ°°λ°μ κ°λ§νΌ μ¬μ΄μ¦λ₯Ό λλ € 곡κ°μ μ°¨μ§ν©λλ€.
첫 νλͺ©μ flex-grow κ°μ 2λ‘ μ§μ νκ³ λλ¨Έμ§ λ κ°μ νλͺ©μ 1λ‘ μ§μ νλ€λ©΄ κ° νλͺ©μ μ§μ λ flex-grow κ°μ λΉμ¨μ λ°λΌ λ¨μ 곡κ°μ΄ λΆλ°°λ©λλ€. κ° νλͺ©μ flex-grow λΉμ¨μ΄ 2:1:1 μ΄λ―λ‘ μ²« νλͺ©μκ² 100 ν½μ
, λ λ²μ§Έμ μΈ λ²μ§Έ νλͺ©μκ² 50 ν½μ
μ© λΆλ°°λ©λλ€.
flex-shrink μμ±
flex-grow μμ±μ΄ μ£ΌμΆμμ λ¨λ 곡κ°μ νλͺ©λ€μκ² λΆλ°°νλ λ°©λ²μ κ²°μ νλ€λ©΄ flex-shrink μμ±μ μ£ΌμΆμ 곡κ°μ΄ λΆμ‘±ν λ κ° νλͺ©μ μ¬μ΄μ¦λ₯Ό μ€μ΄λ λ°©λ²μ μ μν©λλ€. λ§μ½ flex 컨ν
μ΄λκ° flex νλͺ©μ λͺ¨λ ν¬ν¨ν λ§νΌ λλν 곡κ°μ κ°κ³ μμ§ μκ³ flex-shrink κ°μ΄ μμμ΄λ©΄ flex νλͺ©μ flex-basisμ μ§μ λ ν¬κΈ°λ³΄λ€ μμμ§λλ€. λν, flex-grow μμ±κ³Ό λ§μ°¬κ°μ§λ‘ λ ν° flex-shrink κ°μ κ°λ νλͺ©μ μ¬μ΄μ¦κ° λ 빨리 μ€μ΄λλλ€.
νλͺ©μ μ΅μ ν¬κΈ°λ μ€μ μΆμλμ κ³μ°ν λ κ³ λ €λκΈ° λλ¬Έμ flex-shrink μμ±μ΄ flex-grow μμ±μ λΉν΄ λ μΌκ΄λ λͺ¨μ΅μ 보μ¬μ€μ§λ λͺ¨λ¦
λλ€. flex-shrink μμ±μ΄ νλͺ©μ μ¬μ΄μ¦λ₯Ό κ²°μ νλ μκ³ λ¦¬μ¦μ κ΄ν΄μλ Controlling Ratios of Flex Items on the Main Axisμμ μμΈν μ΄ν΄νλ³΄κ² μ΅λλ€.
μ°Έκ³ :
flex-grow μ flex-shrinkμ κ°μ΄ λΉμ¨μμ μ μνμΈμ. flex νλͺ©μ flex μμ±μ λͺ¨λ 1 1 200px λ‘ μ§μ νκ³ ν νλͺ©λ§ ν¬κΈ°κ° λμ΄λλ λΉμ¨μ ν νλͺ©μ λλ°°λ‘ νκ³ μΆμΌλ©΄ ν΄λΉ flex νλͺ©μ flex μμ±μ 2 1 200pxλ‘ μ§μ νλ©΄ λμ§λ§, flex μμ± κ°μ λͺ¨λ 10 1 200pxλ‘ μ§μ νκ³ λμ΄λλ λΉμ¨μ λ λ°°λ‘ νκ³ μΆμ νλͺ©μ flex μμ± κ°λ§ 20 1 200pxλ‘ μ§μ ν΄λ λμΌνκ² λμν©λλ€.
μΆμ½ν μμ± flex
보ν΅μ flex-grow, flex-shrink, flex-basis κ°μ κ°κ° μ¬μ©νμ§ μκ³ μ΄ μΈ μμ±μ νλ²μ μ§μ νλ flex μΆμ½νμ λ§μ΄ μ¬μ©ν©λλ€. flex μΆμ½νμ κ°μ flex-grow, flex-shrink, flex-basis μμλ‘ μ§μ λ©λλ€.
λ€μμ λΌμ΄λΈ μμμμ flex μΆμ½νμ κ°λ€μ μ‘°μ νλ©΄μ μνν΄ λ³Ό μ μμ΅λλ€. 첫 κ°μ΄ flex-growλ₯Ό μ§μ νλ©°, μ΄ μ²« κ°μ μμλ‘ νλ©΄ flex νλͺ©μ΄ λμ΄μ§ μ μμ΅λλ€. λ λ²μ§Έ κ°μ flex-shrink λ₯Ό μ§μ νλ©° μ΄ λ λ²μ§Έ κ°μ μμλ₯Ό μ§μ νλ©΄ flex νλͺ©μ΄ μ’μμ§ μ μμ΅λλ€. μΈ λ²μ§Έ κ°μ flex-basisλ₯Ό μ§μ νλ©° μ΄ κ°μ flex νλͺ©μ΄ λμ΄μ§κ±°λ μ’μμ§ λ κ³ λ €νλ κΈ°μ€ κ°μ
λλ€.
flex μΆμ½ν ννμ μ¬μ©ν μ μλ 미리 μ μλ μΆμ½ κ°λ€μ΄ μλμ λμ΄λμ΄ μμ΅λλ€. μ΄ κ°λ€ λ§μΌλ‘λ λλΆλΆμ κ²½μ°(use-case)μ λμν μ μμ κ² μ λλ€.
flex: initialflex: autoflex: noneflex: <positive-number>
flex νλͺ©μ flex: initialλ‘ μ§μ νλ©΄ flex: 0 1 auto λ‘ μ§μ ν κ²κ³Ό λμΌνκ² λμν©λλ€. μ΄ κ²½μ°, flex νλͺ©λ€μ flex-growκ° 0μ΄λ―λ‘ flex-basisκ°λ³΄λ€ 컀μ§μ§ μκ³ flex-shrinkκ° 1μ΄λ―λ‘ flex 컨ν
μ΄λ 곡κ°μ΄ λͺ¨μλΌλ©΄ ν¬κΈ°κ° μ€μ΄λλλ€. λ, flex-basisκ° autoμ΄λ―λ‘ flex νλͺ©μ μ£ΌμΆ λ°©ν₯μΌλ‘ μ§μ λ ν¬κΈ° λλ μκΈ° λ΄λΆ μμ ν¬κΈ° λ§νΌ 곡κ°μ μ°¨μ§ν©λλ€.
flex: auto λ‘ μ§μ νλ©΄ flex: 1 1 autoλ‘ μ§μ ν κ²κ³Ό λμΌνλ©°, flex:initial κ³Όλ μ£ΌμΆ λ°©ν₯ μ¬μ 곡κ°μ΄ μμ λ flex νλͺ©λ€μ΄ λμ΄λμ μ£ΌμΆ λ°©ν₯ μ¬μ 곡κ°μ μ±μ°λ μ λ§ λ€λ¦
λλ€.
flex: noneμΌλ‘ μ§μ νλ©΄ flex: 0 0 autoμΌλ‘ μ§μ ν κ²κ³Ό λμΌνλ©° flex 컨ν
μ΄λμ ν¬κΈ° λ³νμλ flex νλͺ© ν¬κΈ°λ λ³νμ§ μκ³ flex-basisλ₯Ό autoλ‘ μ§μ νμ λ μ ν΄μ§λ ν¬κΈ°λ‘ κ²°μ λ©λλ€.
μ΄ μΆμ½νμ λ μΆμ½ν΄μ flex: 1 μ΄λ flex: 2μ²λΌ μΈμλ μλλ°, μ΄λ flex-grow λ§ μ§μ νκ³ λλ¨Έμ§λ 1 0μΌλ‘ μ¬μ©νλ€λ λ»μ΄λ€. λ°λΌμ flex: 2λ flex: 2 1 0μ λμΌνκ² μ²λ¦¬λ©λλ€.
λ€μ λΌμ΄λΈ μμ μμ μ΄ μΆμ½ κ°λ€μ μνν΄ λ³Ό μ μμ΅λλ€.
μ λ ¬, λ λ§μΆκΈ°(justification), flex νλͺ©κ° μ¬μ κ³΅κ° λΆλ°°
flexboxμ μ£Ό κΈ°λ₯ μ€ νλλ (μ£ΌμΆκ³Ό κ΅μ°¨μΆμΌλ‘ ννλλ) flex 컨ν μ΄λ κ³΅κ° μμ flex νλͺ©λ€μ μ λ ¬νκ³ λ λ§μΆλ©° μ¬μ 곡κ°μ νλͺ© κ°μ λΆλ°°νλ κ²μ λλ€.
μμ£Ό) μ΄ μ μ λ΄μ©μ νΈμμ flex 컨ν μ΄λμ flex-directionλ₯Ό rowλ‘ κ°μ νκ³ 'ν'κ³Ό 'μ΄'λ‘ νκΈ°νμ΅λλ€.
align-items
align-itemsλ flex 컨ν
μ΄λμ μ§μ νλ μμ±μ΄λ©°, κ΅μ°¨μΆμ λ°λΌ flex νλͺ© μ΄μ μ λ ¬νλ λ°©μμ μ§μ ν©λλ€.
μ΄ μμ±μ (μ무κ²λ μ§μ νμ§ μμμ λ μ μ©λλ)μ΄κΈ° κ°μ stretchμ΄λ©° μ΄ κ°μ μ§μ νλ©΄ flex νλͺ©μ λμ΄λ flex 컨ν
μ΄λ λ΄ flex νλͺ© νμ μ΅λ λμ΄λ‘ μ§μ λ©λλ€. λ°λΌμ, flex νλͺ© νμ΄ νλ μΌ λλ flex νλͺ©μ κ΅μ°¨μΆ λ°©ν₯μΌλ‘ flex 컨ν
μ΄λλ₯Ό κ°λ μ±μ°κ² λ©λλ€.
μ΄ μμ±μ flex-startλ‘ μ§μ νλ©΄ flex νλͺ©μ 첫 μ΄μ΄ κ΅μ°¨μΆ λ°©ν₯μ μμμ μ μ λ ¬λ©λλ€. flex-endλ‘ μ§μ νλ©΄ flex νλͺ©μ 첫 μ΄μ΄ κ΅μ°¨μΆ λ°©ν₯μ λμ μ μ λ ¬λ©λλ€. centerλ‘ μ§μ νλ©΄ flex νλͺ© νμ λ°°λΆλ 곡κ°μ κ°μ΄λ° λΌμΈμ μ λ ¬λ©λλ€.
λ€μ λΌμ΄λΈ μμ μμ μ΄ κ°λ€μ μνν΄ λ³Ό μ μμ΅λλ€. - μ΄ μνμ μν΄ μλμ μΌλ‘ flex 컨ν μ΄λμ λμ΄λ₯Ό μ§μ ν΄ λμμ΅λλ€.
stretchflex-startflex-endcenter
justify-content
justify-content μμ±μ μ£ΌμΆμ λ°λΌ flex νλͺ© νμ μ λ ¬νλ λ°©μμ μ§μ ν©λλ€.
μ΄ μμ±μ (μ무κ²λ μ§μ νμ§ μμμ λ μ μ©λλ)μ΄κΈ° κ°μ flex-startμ΄λ©° μ΄ κ°μ μ§μ νλ©΄ flex νλͺ© ν λ΄μ νλͺ©λ€μ flex 컨ν
μ΄λμ μμμ μμ λΆν° μ λ ¬λ©λλ€. flex-endλ‘ μ§μ νλ©΄ flex νλͺ© νμ λ§μ§λ§ νλͺ©μ΄ flex 컨ν
μ΄λμ λμ μμ μ λ ¬λ©λλ€. centerλ‘ μ§μ νλ©΄ flex νλͺ©λ€μ΄ flex νλͺ© νμ κ°μ΄λ° μ λ ¬λ©λλ€.
space-betweenμ μ§μ νλ©΄ μ£ΌμΆ λ°©ν₯ μ¬μ 곡κ°μ flex νλͺ© μ¬μ΄μ 곡κ°μ κ· λ± λ°°λΆν©λλ€.
space-aroundλ μμμ λ° λμ κ³Ό flex νλͺ©κ° 곡κ°λ κ· λ± λ°°λΆμ κ³ λ €νλ―λ‘ μμμ λ° λμ κ³Ό flex νλͺ© κ°μ 곡κ°μ ν¬κΈ°λ₯Ό 1λ‘ λ°°λΆνλ€λ©΄ flex νλͺ© μ¬μ΄μ 곡κ°μ 2λ‘ λ°°λΆν©λλ€.
space-evenlyλ‘ μ§μ νλ©΄ μ¬μ 곡κ°μ flex νλͺ© μ¬μ΄μ κ³΅κ° λ° μμμ λ° λμ κ³Ό flex νλͺ© κ°μ 곡κ°μ λͺ¨λ κ· λ±νκ² λ°°λΆν©λλ€.
λ€μ λΌμ΄λΈ μμ μμ justify-contentμ μ§μ ν μ μλ λ€μ κ°λ€μ μνν΄ λ³Ό μ μμ΅λλ€.
stretchflex-startflex-endcenterspace-aroundspace-betweenspace-evenly
μ΄ μ μμ μ€λͺ ν λ΄μ©μΌλ‘ λλΆλΆμ κ²½μ°μ λμν μ μμ§λ§, Aligning Items in a Flex Container μμ μ΄ μμ±λ€μ λ μμΈν μ΄ν΄λ³Ό κ²μ λλ€.
Next steps
Flexboxμ κ°μλ₯Ό μ΄ν΄λ³΄μμ΅λλ€. λ€μ κΈ how this specification relates to other parts of CSSμμ μ΄ κ·κ²©μ΄ λ€λ₯Έ CSS κ·κ²©κ³Ό μ΄λ»κ² μ°κ΄λμ΄ μλμ§ λ§μλλ¦¬κ² μ΅λλ€.