--- title: CSS Flexible Box Layout slug: Web/CSS/CSS_Flexible_Box_Layout tags: - CSS - CSS Flexible Boxes - Guide - Overview - Reference translation_of: Web/CSS/CSS_Flexible_Box_Layout ---
CSS Flexible Box Layout은 사용자 인터페이스 디자인과 단방향 레이아웃에 최적화된 CSS 모듈입니다. 플렉스 레이아웃 모델에서는, 플렉스 컨테이너의 자식을 어떤 방향으로도 배치할 수 있으며, 자식의 크기도 유연하게("플렉시블") 빈 공간을 채우거나, 컨테이너를 넘어가지 않도록 줄어듭니다. 자식 간의 수평 및 수직 정렬 또한 쉽게 조작할 수 있습니다.
다음 예제의 컨테이너는 display: flex
를 적용한 상태입니다. 따라서 컨테이너의 세 자식은 플렉스 항목이 됩니다. justify-content
의 값은 space-between
으로, 각 아이템을 주축(가로축)에 균일한 간격으로 배치합니다. 그래서 같은 양의 공간이 자식 사이에 균일하게 생기며 왼쪽과 오른쪽 아이템이 플렉스 컨테이너의 양 모서리에 붙어서 배치됩니다. 또한 align-items
의 기본값인 stretch
로 인해, 각 항목의 높이가 플렉스 컨테이너의 높이까지 늘어나서 세 자식 모두 제일 높이가 큰 항목과 같은 높이가 되는 것도 확인할 수 있습니다.
{{EmbedGHLiveSample("css-examples/flexbox/basics/simple-example.html", '100%', 500)}}
align-content
, align-self
, align-items
, justify-content
속성은 플렉스박스 명세에서 처음 나왔지만, 지금은 박스 정렬 명세가 정의하며 플렉스박스 명세는 박스 정렬 명세를 참조하고 있습니다. 추가 정렬 속성도 박스 정렬 명세가 가지고 있습니다.
flex-grow
, flex-shrink
, flex-basis
속성을 설명합니다.명세 | 상태 | 설명 |
---|---|---|
{{ SpecName('CSS3 Flexbox') }} | {{ Spec2('CSS3 Flexbox') }} | 초기 정의. |