media query로 반응형 웹 만들기
PC에서는 괜찮은 레이아웃이 모바일에서 너무 좁거나 깨지는 상황
- 문제 상황 확인
- 짧은 코드로 재현
- 브라우저에서 결과 점검
media query로 반응형 웹 만들기에서 먼저 볼 부분
media query는 화면 크기나 환경에 따라 다른 CSS를 적용하게 해줍니다. 모바일 대응의 기본 도구입니다.
반응형 웹은 화면 크기가 달라져도 읽기와 조작이 편해야 합니다. 단순히 줄어드는 것이 아니라 구조가 바뀌어야 할 때가 있습니다.
media query는 특정 조건에서 CSS를 덮어씁니다. 보통 큰 화면 기본 스타일을 작성하고 작은 화면 조건에서 단순한 레이아웃으로 바꿉니다.
모바일에서는 글자 크기, 버튼 간격, 가로 스크롤 여부를 꼭 확인해야 합니다. 레이아웃만 맞고 터치가 어려우면 좋은 반응형이라고 보기 어렵습니다.
2단 카드에서 1단 카드로
.card-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
@media (max-width: 640px) {
.card-grid { grid-template-columns: 1fr; }
}
이 예제는 그대로 복사해서 확인하는 것보다 한 줄씩 바꿔보는 쪽이 더 도움이 됩니다. 태그 이름, 선택자, 변수 이름, 함수 실행 위치를 조금씩 바꾸면 어떤 부분이 결과에 영향을 주는지 직접 확인할 수 있습니다.
잘못 작성했을 때 나타나는 흐름
CSS 글은 속성 하나만 외우기보다 부모 요소와 자식 요소의 관계를 같이 확인하는 방식으로 읽는 것이 좋습니다.
스타일이 적용되지 않을 때는 개발자 도구에서 어떤 규칙이 취소선 처리되는지 먼저 보면 원인을 빠르게 좁힐 수 있습니다.
모바일 화면에서는 고정 너비, 긴 코드, margin 조합이 문제를 만들기 쉬우므로 작은 화면 기준까지 함께 확인해야 합니다.
브라우저에서 직접 확인하는 순서
먼저 화면에 나타나는 결과를 보고, 그다음 코드에서 방금 수정한 부분을 확인하세요. 결과가 예상과 다르다면 콘솔 오류, 파일 경로, 선택자 이름, 태그 닫힘, 실행 순서 중 하나가 흔한 원인입니다.
초보 단계에서는 정답 코드를 한 번에 외우기보다 실패한 코드와 수정한 코드를 나란히 비교하는 방식이 좋습니다. 이 글의 예제를 기준으로 작은 값을 바꿔보면 다음 글을 읽을 때도 기준이 더 선명해집니다.
실습 후 점검할 항목
- 모바일에서 가로 스크롤이 생기는지 확인하기
- 그리드 열 개수를 줄일 기준 정하기
- 버튼과 링크 간격이 충분한지 확인하기
- 이미지와 코드 블록이 부모 너비를 넘지 않게 하기
공식 문서로 더 확인하기: CSS 공식 문서