← 목록

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

작성: 2025년 06월 14일읽기: 약 3분

Flexbox는 웹 개발에서 레이아웃을 구성하는 강력한 도구입니다. 특히 반응형 웹 디자인을 만들 때, Flexbox는 요소들을 다양한 화면 크기에 맞춰 유연하게 배치할 수 있게 해줍니다. 여기서는 Flexbox를 사용하여 간단하면서도 효과적인 반응형 레이아웃을 만드는 방법을 알아보겠습니다.

Flexbox 기본

Flexbox를 사용하기 전에, 우리는 먼저 컨테이너에 display: flex; 속성을 적용해야 합니다. 이렇게 하면 컨테이너 안의 아이템들이 Flexbox의 규칙을 따르게 됩니다.

.container {
  display: flex;
}

방향 설정하기

Flexbox에서는 컨테이너 안의 아이템들이 배치되는 방향을 쉽게 설정할 수 있습니다. 기본적으로 아이템들은 행(row)으로 배치되지만, flex-direction 속성을 사용하여 열(column)로 배치할 수도 있습니다.

.container {
  display: flex;
  flex-direction: row; /* 기본값 */
}

또는

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

아이템 크기 조절하기

Flexbox의 또 다른 강점은 컨테이너 안의 아이템 크기를 쉽게 조절할 수 있다는 것입니다. flex 속성을 사용하면, 아이템이 차지하는 공간의 비율을 설정할 수 있습니다.

.item1 {
  flex: 1;
}

.item2 {
  flex: 2;
}

위 코드에서 item1item2보다 두 배 작은 공간을 차지하게 됩니다.

반응형 레이아웃 만들기

이제 Flexbox를 사용하여 간단한 반응형 레이아웃을 만들어보겠습니다. 화면 크기에 따라 아이템들이 자동으로 조절되도록 하려면, 미디어 쿼리와 함께 Flexbox를 사용할 수 있습니다.

.container {
  display: flex;
  flex-wrap: wrap;
}

.item {
  flex: 1 1 200px;
}

@media (max-width: 600px) {
  .item {
    flex: 1 1 100%;
  }
}

위 코드에서는 각 아이템이 최소 200px의 너비를 가지며, 화면의 너비가 600px 이하로 줄어들면 아이템이 화면을 꽉 채우도록 조절됩니다. flex-wrap: wrap; 속성은 컨테이너의 너비가 아이템들을 수용할 수 없을 때, 아이템들이 다음 줄로 넘어가도록 합니다.

Flexbox를 활용하면, 몇 줄의 코드만으로도 반응형 레이아웃을 쉽게 만들 수 있습니다. 주니어 개발자 여러분도 이 기술을 활용하여 다양한 웹 프로젝트에 적용해보세요!