Flexbox
Flexbox
사용 방법display: flex
flex
선언하기flex(기본값)
, inline-flex
inline
요소일 경우엔 inline-flex
선언하기flex-direction
row(기본값, 좌->우)
, row-reverse(우->좌)
, column(상->하)
, column-reverse(하->상)
flex-direction
방향으로 Main axis
, 그와 수직인 방향으로 Cross axis
과 같은 두 개의 축이 생성된다.✔️ flex-direction
이 row
일 경우에는 가로로 정렬되고, Main axis는 가로축, Cross axis는 세로축이 된다.
flex-wrap
nowrap(기본값)
, wrap
nowrap
으로 지정하면 자식 요소들의 사이즈를 줄여서라도 한 줄로 정렬하고, wrap
으로 지정하면 한 줄로 정렬할 공간이 없으면 여러 줄로 만들어서 정렬한다. flex-wrap: nowrap | flex-wrap: wrap |
justify-content
flex-start
, flex-end
, center
, space-between
, space-around
Main axis
를 기준으로 요소들을 정렬한다.space-between
: 첫 번째 요소와 마지막 요소는 컨테이너의 좌우 측면에 정렬되고, 요소들 사이의 간격은 동일하다.space-around
는 첫 번째 요소와 마지막 요소가 컨테이너의 양쪽 끝과 같은 간격을 가지고, 아이템 사이의 간격은 동일하다.align-items
flex-start
, flex-end
, center
align-content
flex-start
, flex-end
, center
, space-between
, space-around
cross axis
를 기준으로 요소들을 정렬한다. ✔️ align-items
, align-content
의 차이점 : align-items
는 개별 아이템들을 정렬하는 데 사용되고, align-content
는 여러 줄에 대한 정렬을 다루는 데 사용된다.
Order
flex-shrink
flex-shrink: 2
를 지정하여 flex-shrink
기본값 1인 다른 아이템들에 비해 두 배로 많이 축소된 것을 확인할 수 있다.flex
적용해 안의 요소들(이미지, 텍스트 등) 세로로 정렬하기.profile{
display: flex;
flex-direction: column;
align-items: center;
width: 368px;
}
flex
사용해 가로로 정렬하기.profile-detail{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
text-align: center;
}
flex
를 사용해 화면 정중앙에 배치하기 (부모인 <body>
에 flex
적용하기)body{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100vh;
}
참고 사이트