- static
⇒ 기본값, html 에 정의된 순서대로 자연스럽게 보여지는것! 설정안하면 가장 기본값으로 되어 있음
- relative
⇒ 원래 있던 자리(static)를 기준으로 top bottom left right를 조정해서 설정함!!
- absolute
⇒ 부모 박스를 기준으로 정렬되는것!
- fixed
⇒ 웹 페이지를 기준으로 정렬되는것
- sticky
⇒ 원래의 자리에 위치하나, 스크롤링 되어도 고정되어 있는것!
flex 와 grid 가 등장하기 이전, float 을 사용하여 html 내의 요소들을 배치 했다.
하지만 flex 가 등장하며 float 은 더이상 사용되지 않는다! ( 호환성때문에 아직 사용되긴 하지만.. 왠만하면 flex를 사용함 )
그래서 우리는 flex 가 무엇인지 알아보려고 한다!
Flexbox 는 container 와 item 으로 구성되며, container 와 item 에 각각의 속성을 적용할수 있다!
예제를 통해 각각의 속성을 알아보자!
display: flex;
flexbox 임을 명시하는 속성!/* 수평 정렬 (오르쪽 기준) */
flex-direction : row;
/* 수평 정렬 (왼쪽 기준) */
flex-direction : row-reverse;
/* 수직 정렬 (상단 기준) */
flex-direction : column;
/* 수직 정렬 (하단 기준) */
flex-direction : column-reverse;
/* 기본값 => 화면 비율과 상관없이 한줄에 적정 크기대로 조절되어 나타남 */
flex-wrap: nowrap;
/* 화면이 줄어들면 item 크기이상으로 안늘어나고, 다음줄로 아이템 보여줌 */
flex-wrap: wrap;
/* 아래서 위로 정렬! */
flex-wrap: wrap-reverse;
flex-flow: column wrap;
/* direction은 column으로, wrap은 wrap 으로 설정 */
justify-content: flex-start;
/* 기본값으로, 오른쪽에서 왼쪽, 위에서 아래로 배치하는 일반적인 방법 */
justify-content: fles-end;
/* 왼쪽에서 오른쪽, 아래서 위로 배치 (순서는 유지하면서 배치만 다르게!) */
justify-content: center;
/* 가운데로 배치 */
justify-content: space-around;
/* item 별 스페이스로 구분하려 정렬 (아이템별 양쪽에 각각 스페이스) */
justify-content: space-evenly;
/* item 별 처음 끝 상관없이 똑같은 간격으로 정렬 */
justify-content: space-between;
/* 왼쪽 오른쪽엔 빈곤강 없이 중간에만 스페이스 */
align-items: baseline;
/* item 크기가 달라지면, 다른 아이템들도 같이 정렬하는것! ( item 내부의 요소를 같은 라인으로 ) */
/* 이 외에는 justify-content 속성과 같음 */
실습을 보기 좋게 하기 위해서는
https://jsbin.com/?html,output
에서 직접 해보도록 하자!