-
배치 핵심
: 왼쪽 위에 쌓인다 (박스모델)
- 어떻게?
- block
- inline
- 어떻게?
-
배치 흐름을 바꾸는 방법
- float
- position
- flex: flexible box
flex
이전에는 배치를 위해서float
,position
지정을 해야했음
container
item
<style>
.container {
display: flex;
}
</style>
<div class="container">
<div class="item"></div>
<div class="item"></div>
</div>
-
-
main axis
: 주축
flex-direction: row;
일 때 가로 축flex-direction: column;
일 때 세로 축flex-direction: column-reverse;
일 때 밑에서 위로 올라가는 세로 축flex-direction: row-reverse;
일 때 오른쪽에서 왼쪽으로 가는 가로 축
-
cross axis
: 크로스축
-
- 모든 항목들은
main axis (주축)
을 기준으로 배치가 시작됨- 기본은
row
- 만약,
row-reverse
로 지정하게 되면, 오른쪽 끝부터 배치가 시작됨
- 기본은
- 모든
item
은 기본적으로 row를 기준으로 배치됨flex-direction
:row
값으로 기본 설정 됨
- 모든
item
은cross axis
를 모두 채운다- 높이를 모두 채운다
align-items: stretch;
가 기본값이기 때문
- 높이를 모두 채운다
- 모든
item
은 본인의 너비 혹은 content 영역만큼 너비를 가지게 된다- 경우에 따라서, 본인이 지정받은 너비보다 작을 수 있다
flex-wrap: nowrap
이 기본값이기 때문- ex) 전체 item의 너비의 합이 container의 너비보다 작을 때 보다 작을 때
- 경우에 따라서, 본인이 지정받은 너비보다 작을 수 있다
- 각 영역은 content 크기 / 너비만큼 영역을 차지함
- 더 작을 수도 있음!
- 모든 영역은 cross axis (크로스 축)을 채우고 있는 모습임
- 기본 값
nowrap
- 한 줄안에 무조건 담는다
wrap
- 각각의 너비만큼 가지게 되고 자리가 없으면 밑으로 내려감
- 흘러 넘치지 않게 설정해주는 것!
wrap-reverse
- Items wrap round to additional lines in reverse
flex-grow
는 남은 너비를 각각 비율로 나눠서 가져감
- 기본값
0
Shorthand property for
flex-direction
andflex-wrap
main 축을 기준으로 정렬한다
- 기본값:
flex-start
flex-start
flex-end
center
space-around
space-between
space-evenly
crosss 축을 기준으로 정렬한다
-
stretch
: 기본값
-
flex-start
: 상단 정렬
-
flex-end
: 하단 정렬
-
baseline
: items are aligned such as their baselines
-
center
: 중앙 정렬
Sets the distribution of space between and around content items along a flexbox's cross-axis or a gird's block axis
align-content
has no effect when there is onlyl one line of flex items!
item의 순서를 정의할 수 있다
- 기본값:
0
- 음수값도 가질 수 있음
item에 직접 align을 지정할 수 있음
flex는 margin-top: auto
가 가능하다!
-
justify - main 축
-
align - cross 축
-
content - 여러축
-
items - 한 줄
-
self - 개별요소