티스토리 뷰

web/css

CSS FlexBox

sungjine 2018. 1. 1. 16:04
반응형

FlexBox는 CSS3에서 제공하는 레이아웃을 지정할 수 있는 방식 중 하나이다.


FlexBox를 사용할 때는 두 단계의 태그가 필요하다. 첫 번째는 부모 태그이고 두 번째는 자식 태그이다. 부모 태그는 자식 태그를 감싸는 태그로 자식 태그를 배치하고 정렬 시킬 수 있고 컨테이너라고 부르기도 하며 부모 태그 안에 있는 모든 태그는 자동으로 자식 태그가 되며 아이템이라고 부르기도 한다.


FlexBox는 main-axis와 cross-axis라는 두개의 축을 가지고 있으며 FlexBox에 기본적으로 main-axis는 가로이고 cross-axis는 세로이다. 각 축은 시작 점과 끝 점을 가지고 있는데 main-axis의 시작 점과 끝 점은 아이템이 배치되는 방향이고 cross-axis의 시작 점과 끝점은 각 아이템이 채워지는 정도이다. 기본적으로 각 시작 점은 위와 왼 쪽이고 끝점은 아래와 오른 쪽이다.


아래는 각 태그에 사용되는 속성과 속성의 설명이다.


 - 부모 태그의 속성

 flex-direction

 축과 축의 시작 점, 끝 점을 변경할 수 있다.

 flex-wrap

 아이템을 배치하는데 브라우저의 크기를 넘어 서는 아이템이 있을 때 하나의 줄을 생성하여 아이템을 배치한다.

 flex-flow

 flex-direction과 flex-wrap 속성의 약식 속성이다.

 justify-content

 main-axis를 따라서 아이템을 정렬한다.

 align-items

 cross-axis를 따라서 아이템을 정렬한다.

 align-content

 cross-axis에 여러 줄이 있을 때 각 줄을 정렬한다.


 - 자식 태그의 속성

 order

 원하는데로 아이템을 정렬할 수 있다.

 flex-grow

 원하는데로 아이템의 크기를 변경할 수 있다.

 flex-shrink

 아이템의 크기가 자동으로 줄어드는 정도를 나타낸다.
(0 = 줄어들지 않음, 1 또는 음수 = 다른 아이템과 동일하게 줄어듬, 2 이상 = 최소로 줄어듬)

 flex-basis

 main-axis 방향으로 크기를 정한다.

 flex

 flex-grow, flex-shrink 및 flex-basis 속성의 약식 속성이다.

 align-self

 align-items와 동일하게 움직인다.


글만 읽어서는 이해하기 어려우니 FlexBox가 어떻게 동작하는지 직접 눈으로 확인하는 것을 추천한다.


FlexBox의 동작 방식은 https://www.w3schools.com/css/css3_flexbox.asp에서 볼 수 있다.


참고

https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties

https://www.w3schools.com/css/css3_flexbox.asp#align-content

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday
글 보관함
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31