CSS · 09 Flex 성장과 축소
단계: Flex·Grid와 반응형 · 편집 가능한 예제 · 저장 ID: css-step-09
목표와 학습 후 역량
- 각 폭의 패널 실제 너비 3개를 기록한다.
- min-width:0의 효과를 shrink와 구분한다.
선수 지식
8단위 「Flex 축과 정렬」의 결과물과 실험 기록
핵심 개념과 설명
공간 분배
flex-grow는 남는 공간의 분배 비율을 정합니다. 실제 너비는 basis와 최소 크기도 함께 반영합니다.
축소 비율
flex-shrink는 부족한 공간을 줄이는 데 관여합니다. 긴 콘텐츠의 자동 최소 크기가 축소를 막을 수 있습니다.
실습 준비
예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 로컬 프로젝트에서 직접 구현하고 브라우저 개발자 도구로 확인하세요. 별도 폴더의 index.html에 콘텐츠를 만들고 link rel="stylesheet"로 실습 CSS를 연결하세요. 개발자 도구에서 뷰포트·계산 스타일·성능 기록을 확인합니다.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- index.html에 컨테이너 900px와 420px 조건의 콘텐츠를 준비하고 flex-size.css를 연결하세요.
- 세 패널의 basis를 200px로 두고 grow·shrink와 min-width를 조절하세요.
- 컨테이너 900px와 420px 조건으로 실행하세요. 확인할 결과: 각 폭의 패널 실제 너비 3개를 기록한다. min-width:0의 효과를 shrink와 구분한다. 예상과 실제 결과는 구분해 기록하세요.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| shrink | 1 | 0 | 실행 전 가설: 좁은 컨테이너에서 넘침이 생길 수 있다. 다른 조건은 고정하고 실행 후 실제 결과를 따로 기록합니다. |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- 각 폭의 패널 실제 너비 3개를 기록한다.
- min-width:0의 효과를 shrink와 구분한다.
자가 점검
- grow 2가 항상 너비 두 배인가요?
- basis와 width가 함께 있으면 무엇을 확인해야 하나요?
공식 참고
연결된 예제와 실행 범위
실제 CSS 문서를 렌더하고 DOM 치수와 계산 스타일을 검사합니다. Shadow DOM에서 문서 body/html 선택자를 범위화합니다. @media는 외부 미리보기 viewport에 반응하며 폭 슬라이더는 컨테이너만 변경합니다. 네트워크·폼 이동·iframe 실행은 제한됩니다.
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.
다음 학습
이전: Flex 축과 정렬 · 다음: Grid 트랙과 간격