Figmapedia
목록으로 돌아가기
오토 레이아웃

오토 레이아웃/Constraints 반응형 구현

피그마 오픈카톡방2026. 3. 7.

질문사항

오토 레이아웃을 적용하면 기존에 설정했던 Constraints가 풀리면서 높이(heights) 반응형이 제대로 작동하지 않는 문제가 발생합니다. 오토 레이아웃과 Constraints를 함께 사용하여 반응형 디자인을 구현하는 올바른 방법이 궁금합니다.

답변

Auto Layout과 Constraints는 Figma에서 반응형 디자인을 구현하는 핵심 기능이지만, 함께 사용할 때 특정 동작 방식에 대한 이해가 필요합니다.

문제의 원인:

Auto Layout이 적용된 프레임 내부의 요소들은 기본적으로 Auto Layout의 규칙(방향, 간격, 패딩 등)에 따라 배치되고 크기가 조절됩니다. 이 경우, 개별 요소에 적용된 Constraints는 Auto Layout의 규칙에 의해 무시되거나 다르게 해석될 수 있습니다. 특히 `heights` 반응형이 풀리는 것은 Auto Layout이 콘텐츠의 크기에 따라 프레임의 크기를 조절하는 `Hug contents` 모드로 설정되어 있거나, 내부 요소의 `Fill container` 설정이 제대로 되지 않았을 때 발생할 수 있습니다.

해결 방법: 중첩 구조 활용

  • Auto Layout과 Constraints의 역할 이해:
  • Auto Layout: 주로 내부 요소들의 배치, 간격, 정렬을 담당합니다. `Hug contents`, `Fixed width/height`, `Fill container` 등의 속성을 통해 내부 요소에 대한 반응형 동작을 정의합니다.
  • Constraints: 주로 부모 프레임(Auto Layout이 아닌 일반 프레임)에 대한 자식 요소의 위치 및 크기 조절 방식을 정의합니다. (예: `Left & Right`, `Top & Bottom`, `Scale`)
  • 핵심: Auto Layout이 적용된 프레임 내부의 자식 요소에는 Constraints가 적용되지 않습니다. Constraints는 Auto Layout이 적용되지 않은 일반 프레임의 자식 요소에만 유효합니다.
  • 중첩 구조 활용:
  • 상위 프레임 (Constraints 적용): 전체 레이아웃의 반응형 너비/높이를 제어하는 가장 바깥쪽 프레임을 만듭니다. 이 프레임은 Auto Layout이 적용되지 않은 일반 프레임이어야 합니다.
  • 내부 Auto Layout 프레임 (콘텐츠 배치): 상위 프레임 안에 Auto Layout이 적용된 프레임을 만듭니다. 이 Auto Layout 프레임은 내부 콘텐츠(에셋, 텍스트 등)의 배치와 간격을 담당합니다.
  • Auto Layout 프레임에 Constraints 적용: 내부 Auto Layout 프레임을 선택하고, 상위 일반 프레임에 대해 `Left & Right` 또는 `Scale`과 같은 Constraints를 적용하여 상위 프레임 크기 변화에 따라 Auto Layout 프레임의 너비가 반응하도록 합니다. 높이 역시 `Top & Bottom` 또는 `Scale`을 적용할 수 있습니다.
  • Auto Layout 내부 요소 설정: Auto Layout 프레임 내부의 요소들은 `Fill container` (부모 Auto Layout 프레임의 크기에 맞춰 늘어나거나 줄어듦) 또는 `Hug contents` (콘텐츠 크기에 맞춰 프레임 크기 조절)를 적절히 사용하여 반응형 동작을 정의합니다.
  • 예시:

  • 상위 일반 프레임: (예: 웹 페이지 전체를 나타내는 프레임) `Width: 100%`, `Height: 500px` (Constraints: `Left & Right`, `Top & Bottom`)
  • 내부 Auto Layout 프레임: (예: 헤더, 푸터, 섹션 등) `Width: Fill container`, `Height: Hug contents` (Constraints: `Left & Right`, `Top & Bottom`)
  • Auto Layout 내부의 텍스트/이미지: `Width: Fill container`, `Height: Hug contents`
  • 이러한 중첩 구조와 Auto Layout 속성들을 조합하여 원하는 반응형 동작을 구현할 수 있습니다.