← 목록

Flexbox를 활용한 반응형 레이아웃 만들기

작성: 2024년 08월 09일읽기: 약 3분

Flexbox는 웹 페이지의 요소를 배치하는 강력하고 유연한 방법을 제공합니다. 특히, 반응형 레이아웃을 만들 때 그 진가를 발휘하는데요, 오늘은 Flexbox를 사용하여 간단하면서도 멋진 반응형 레이아웃을 만드는 방법을 알아보겠습니다.

Flexbox는 'flexible boxes'의 줄임말로, 요소들이 다양한 화면 크기와 디스플레이 장치에 맞춰 유연하게 조정될 수 있도록 돕습니다. 이를 통해, 우리는 사용자 경험을 크게 향상시킬 수 있습니다.

기본 설정

Flexbox를 사용하기 전에, 우리는 컨테이너를 설정해야 합니다. 이 컨테이너는 flex 아이템들을 감싸고 있으며, display: flex; 속성을 적용함으로써 flex 컨테이너로 변환됩니다.

.container {
  display: flex;
}

주 축과 교차 축

Flexbox에서는 두 가지 중요한 축이 있습니다: 주 축(main axis)과 교차 축(cross axis). 주 축은 flex 아이템들이 놓이는 방향을 결정하고, 교차 축은 주 축에 수직으로 교차하는 방향입니다. flex-direction 속성을 사용하여 주 축의 방향을 설정할 수 있습니다.

.container {
  display: flex;
  flex-direction: row; /* 기본값. 아이템들이 수평 방향으로 배치됩니다. */
}

아이템 정렬

Flexbox의 강력한 기능 중 하나는 아이템들을 쉽게 정렬할 수 있다는 점입니다. justify-contentalign-items 속성을 사용하여 아이템들을 주 축과 교차 축에서 정렬할 수 있습니다.

.container {
  display: flex;
  justify-content: center; /* 주 축에서 아이템들을 가운데 정렬합니다. */
  align-items: center; /* 교차 축에서 아이템들을 가운데 정렬합니다. */
}

반응형 레이아웃

Flexbox의 또 다른 장점은 반응형 디자인을 쉽게 구현할 수 있다는 것입니다. 예를 들어, 화면 크기에 따라 아이템들의 방향을 변경하고 싶다면, 미디어 쿼리와 함께 flex-direction 속성을 사용할 수 있습니다.

.container {
  display: flex;
  flex-direction: row;
}

/* 화면의 너비가 600px 이하일 때 */
@media (max-width: 600px) {
  .container {
    flex-direction: column;
  }
}

이렇게 하면, 화면이 충분히 넓을 때는 아이템들이 가로로 나란히 배치되고, 화면이 좁아지면 세로로 쌓이게 됩니다. 이는 사용자가 어떤 장치를 사용하든지 간에 최적의 레이아웃을 제공합니다.

Flexbox를 사용하면, 반응형 웹 디자인이 훨씬 쉬워집니다. 여러분도 이 기술을 활용하여 사용자 친화적인 웹 페이지를 만들어 보세요!