실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 퍼블리싱 꿀팁

수십 줄의 모바일 반응형 코드, 단 '1줄'로 끝내는 마법 (clamp)

PC에서는 예쁘게 1줄로 나오던 제목이 스마트폰으로 보면 화면을 뚫고 나가거나 3줄로 지저분하게 줄바꿈된 경험 있으신가요?
보통 이를 해결하기 위해 태블릿용, 모바일용 미디어 쿼리(@media) 코드를 수십 줄씩 추가하며 글자 크기를 강제로 줄여왔습니다. 하지만 이 방식은 코드를 무겁게 만들고 유지보수를 지옥으로 이끕니다.

💡 화면에 맞춰 고무줄처럼 늘어나는 글씨?

모던 CSS의 clamp() 함수를 사용하면, 화면 너비에 맞춰 폰트 크기가 물 흐르듯 자연스럽게 커지고 작아지는 '유동적 타이포그래피(Fluid Typography)'를 단 한 줄의 코드로 완성할 수 있습니다.

1. clamp() 함수의 완벽한 공식 3단계

clamp는 영단어 뜻 그대로 '양쪽을 꽉 잡아 고정시킨다'는 뜻입니다. 괄호 안에 최소 크기, 유동적 비율, 최대 크기 딱 3가지만 적어주면 브라우저가 알아서 모든 계산을 끝냅니다.

/* 기존의 비효율적인 방식 (미디어 쿼리 남용) */
h1 { font-size: 40px; }
@media (max-width: 1024px) { h1 { font-size: 32px; } }
@media (max-width: 768px) { h1 { font-size: 24px; } }

/* ★ 최신 clamp() 방식 (위 수십 줄을 단 1줄로 압축!) ★ */
h1 { 
    /* 공식: clamp(최솟값, 권장 반응형 값, 최댓값) */
    font-size: clamp(24px, 5vw, 40px); 
}

2. clamp()가 똑똑한 진짜 이유

가운데 있는 5vw는 화면 너비의 5% 크기를 뜻합니다. 화면이 커지면 글씨도 커지지만, 와이드 모니터에서 글씨가 무한정 커지는 것을 막기 위해 최대 크기를 40px로 제한(Lock)합니다.
반대로 화면이 좁아질 때도 최소 크기 24px 밑으로는 절대 줄어들지 않게 방어하여 스마트폰에서의 가독성을 완벽하게 보장합니다.

/* 실무 꿀팁: 폰트 뿐만 아니라 여백(Padding)에도 쓸 수 있습니다! */
.section-box {
    /* 모바일에서는 20px, PC에서는 80px로 여백이 부드럽게 변합니다 */
    padding: clamp(20px, 8vw, 80px);
}

"코드의 길이가 짧아질수록 웹사이트의 성능은 가벼워집니다."

나눔웹은 복잡한 해상도 분기점(Breakpoint)에 얽매이지 않고,
어떤 기기에서도 1px의 어색함 없이 물 흐르듯 최적화되는 유동형 레이아웃을 구축합니다.


List of Articles
번호 분류 제목 글쓴이
89 퍼블리싱 다크 모드 CSS 대응법, 폰을 어둡게 했더니 입력창만 하얗게 뜰 때 new 나눔웹
88 웹 성능 뒤로 가기 하면 페이지가 처음부터 다시 뜰 때, bfcache 막는 원인 찾는 법 나눔웹
87 마케팅 LocalBusiness 구조화 데이터 작성법, 구글에 상호·주소·영업시간 정확히 알리기 나눔웹
86 UI/UX 링크 밑줄이 글자에 붙어 답답할 때, text-underline-offset으로 다듬는 법 나눔웹
85 모바일 모바일 키보드가 입력창을 가릴 때, visualViewport로 화면 맞추는 법 나눔웹
84 웹 성능 사용하지 않는 CSS 줄이기, 크롬 Coverage 탭으로 안 쓰는 코드 찾는 법 나눔웹
83 마케팅 GA4 문의 전환 설정법, 감사 페이지 도달로 실제 문의 수 세는 순서 나눔웹
82 UI/UX 고정 헤더에 제목이 가려질 때, scroll-margin-top으로 앵커 맞추는 법 나눔웹
81 퍼블리싱 CSS 컨테이너 쿼리 쓰는 법, 화면이 아니라 카드 폭에 맞춰 반응하기 나눔웹
80 UI/UX 폼 에러가 입력 전에 뜨는 문제, :user-invalid로 고치는 법 나눔웹
79 모바일 모바일 브라우저 상단바 색 맞추기, theme-color 메타 태그 쓰는 법 나눔웹
78 마케팅 문의 완료 페이지 noindex 설정법, 검색에 잡히지 않게 막는 순서 나눔웹
77 UI/UX 문의란이 내용만큼 늘어나게, CSS field-sizing으로 맞추는 법 나눔웹
76 웹 성능 긴 페이지 스크롤이 무거울 때, content-visibility로 렌더링 줄이는 법 나눔웹
75 모바일 모바일 100vh 잘림, dvh·svh로 주소창 높이까지 맞추는 법 나눔웹
74 마케팅 구글 서치 콘솔 등록 방법, 새 홈페이지 소유권 확인부터 색인 요청까지 나눔웹
73 퍼블리싱 CSS :has() 선택자 활용법, 자식 상태에 따라 부모 박스 스타일 바꾸기 나눔웹
72 웹 성능 반응형 이미지 srcset 쓰는 법, 모바일에 PC용 큰 사진을 보내지 않으려면 나눔웹
71 퍼블리싱 제목 줄바꿈이 어색할 때, text-wrap: balance로 한 단어만 남는 문제 정리 나눔웹
70 마케팅 robots.txt 작성법, 검색에 안 보여야 할 페이지와 사이트맵 위치 알려주는 순서 나눔웹
Board Pagination Prev 1 2 3 4 5 Next
/ 5
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4