CSS
6. display의 flex
삼색이삼랑해
2022. 8. 24. 20:36
display: flex 요소
display: flex는 컨테이너 요소(부모 요소)에 설정한다.
주요 속성
1. flex-direction
flex-direction은 내부 요소(자손 요소)의 배치 방향을 조정한다.
속성값)
- row : 기본값. 왼쪽에서부터 가로로 배치
- row-reverse : 오른쪽에서부터 가로로 배치
- column : 위에서부터 세로로 배치
- column-reverse : 아래에서부터 세트로 배치
2. flex-wrap
flex-wrap은 내부 요소의 줄바꿈을 설정한다.
속성값)
- nowrap : 기본값. 줄바꿈 없음. (내부 요소가 부모 요소 밖으로 나감)
- wrap : 자동 줄바꿈. (넘치는 요소가 밑으로 이동)
- wrap-reverse : 자동 줄바꿈. (넘치는 요소가 위로 이동)
3. flex-flow
flex-flow는 flex-direction과 flex-wrap을 같이 작성하는 단축 속성이다.
4. justify-content
justify-content는 메인축(가로) 방향 정렬 방식을 지정한다.
속성값)
- flex-start : 내부 요소 왼쪽 정렬.
- flex-end : 내부 요소 오른쪽 정렬.
- center : 내부 요소 가운데 정렬.
- space-between : 가운데 정렬 시 요소간 간격을 동일하게, 이때 좌우 여백을 고려하지 않음.
- space-around : 가운데 정렬 시 요소간 간격을 동일하게, 이때 모든 내부 요소의 동일한 좌우 Margin을 적용.
- space-evenly : 가운데 정렬 시 요소간 간격을 동일하게, 이때 모든 내부 요소와 좌우 여백을 동일하게 적용.
5. align-items
align-items은 수직축(세로) 방향 정렬 방식 지정한다.
속성값)
- stretch : 컨테이너 요소의 높이에 내부 요소의 높이를 맞춤.
- flex-start : 내부 요소들의 윗선이 동일하게 맞춤. (컨테이너 요소의 위쪽에 배치됨)
- flex-end : 내부 요소들의 아랫선이 동일하게 맞춤. (컨테이너 요소의 아랫쪽에 배치됨)
- center : 내부 요소들이 컨테이너 요소의 세로 중앙에 배치됨.
- baseline : 내부 요소 중 큰 요소의 컨텐츠(내용)를 기준으로 베이스라인에 맞춤. (컨테이너 요소의 위쪽에 배치됨)
- align-content : 내부 요소의 수직 간격을 조정하는 속성. stretch, justify-content의 6개 속성값.
flex item 관련 속성
1. flex-basis
flex-basis는 아이템 요소의 기본 크기를 지정한다. 컨테이너의 flex-direction이 row면 너비, column이면 높이의 크기를 나타낸다.
속성값)
- auto : 기본값. 요소의 기본 크기를 사용.
- 그 외 %, px 등으로 크기값을 지정.
- flex-basis를 사용하지 않고 width로 너비 지정 가능.
2. flex-grow
flex-grow는 유연하게 확대하는 기능이다. 0과 0보다 큰 값을 설정하고(0은 기본값) 요소의 너비가 아닌 확대되었을 때의 여백의 비율로 아이템별로 다르게 공간을 배분할 수 있다.
3. flex-shrink
flex-shrink는 유연하게 축소하는 기능이다. 0과 0보다 큰 값을 설정하고 (1은 기본값) 0일 경우 flex-basis보다 작아지지 않는 고정된 폭을 지정할 수 있다. 이때 고정 크기는 width로 설정한다.
4. order
order는 요소의 배치 순서를 결정하는 속성이다.