felx-direction
으로 방향을 정할 수 있음justify-content
: 기본축 방향에서 정렬하기 (center
, space-between
, flex-start
, flex-end
)align-items
: 교차축 방향에서 정렬되며 요소의 원래 크기로 돌아옴flex-wrap: wrap
wrap
: 넘치는 요소가 교차축 방향으로 넘어가서 배치됨gap: 30px
(요소가 넘쳤을 때 교차축 방향으로도 적용됨)gap: 30px 60px
: 세로 방향으로 30px, 가로 방향으로 60px의 간격을 줌witdh
나 height
값으로 크기가 결정되지 않고 요소의 크기가 유연함flex-grow
flex-grow: 1
flex-shrink
flex-shrink: 0
flex-basis
: 플렉스박스에서 요소의 시작크기를 지정함flex
속성flex-grow
, flex-shrink
, flex-basis
값을 한 번에 쓸 수 있는 속성width 속성으로 시작 크기를 지정하기
flex-grow: 1;
flex-shrink: 0;
width: 100px;
flex-basis 속성으로 시작 크기를 지정하기
flex-grow: 1;
flex-shrink: 0;
flex-basis: 100px;
flex 속성으로 짧게 쓰기
flex: 1 0 100px;
display: flex
하면 마치 inline 성질이 사라져서 block 처럼 위에서 아래로 배치 됨display: inline-flex
를 이용하면 인라인 처럼 배치되는 플렉스 박스를 만들 수 있음relative
, sticky
는 요소의 원래 자리를 차지하기 때문에 플렉스박스의 영향을 받음absolute
랑 fixed
는 요소의 원래 자리에서 쏙 빠져버리기 때문에 글의 흐름에서 빠지는 거랑 마찬가지로, 플렉스박스랑 상관없이 배치되며 flex-grow: 1
도 적용 되지 않음궁금증: 오른쪽 맨 끝의 .time
의 정렬을 오른쪽 끝으로 하고 싶은데justify-content: flex-end;
가 안됨
해결법: display: flex;
를 함께 써줘야 함
.time {
color: #8c8993;
flex-basis: 300px;
display: flex;
justify-content: flex-end;
}