div 블록요소들의 세로 가운데 정렬 방법에 대해 알아보도록 하겠습니다. 블록요소이면서 반응형으로 완성되는 레이아웃의 대부분은 세로 크기는 고정되어 있습니다. 본문 설명에서도 고정된 경우라고 가정하고 진행하겠습니다. 먼저 이 개념을 이해하려면 아래의 관련글들을 잘 읽어보시고 넘어가시는것을 추천합니다.
이렇게 구성되어 있습니다. 노란색 백그라운드가 부모 div이고 그 가운데에 있는 div가 자식 div입니다. 가운데 정렬의 핵심은 position과 transform을 사용하는 것입니다.
먼저 부모 div에 position: relative;를 해줍니다. 그리고 가운데 정렬하고자 하는 자식 요소에 position: absolute;를 해줍니다. 이제 자식 요소는 부모 요소의 위치를 기준하여 움직이게 됩니다. 이에 대한 자세한 설명은 아래의 글을 참고하시면 좋습니다.
다음은 CSS flex를 사용한 방법입니다. flex를 사용하면 정말 쉽게 중앙 정렬이 가능합니다. 그동안 마음대로 사용하지 못했는데 이유는 익스플로러 때문이었습니다. 이 빌이먹을 브라우저가 flex를 제대로 지원하지 못했죠. 하지만 이제 고민은 끝났습니다. 인터넷 익스플로러가 단종되었으니까요. 그러니 우리 모두 삶도 flex하고 CSS에서도 flex를 마음껏 사용합시다.