1.3.3 clamp(), min(), max()

약 5분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

1.3.3 clamp(), min(), max()

CSS에서 단위를 정할 때 상황에 따라 유동적인 크기를 지정할 수 있는 clamp(), min(), max() 함수는 매우 유용합니다. 이 함수들은 반응형 웹 디자인에서 다양한 화면 크기에 대응하기 위해 사용되며, 특히 fluid typography와 layout을 구현하는 데 강력한 도구입니다.

clamp()

clamp() 함수는 세 개의 인자를 받습니다: 최소값, 최대값, 그리고 원하는 값입니다. 이 함수를 사용하면 주어진 조건 내에서 값이 자동으로 조정됩니다.

예를 들어, 다음과 같은 CSS 코드에서는 텍스트의 크기가 화면의 크기에 따라 유동적으로 변화하도록 설정할 수 있습니다:

h1 {
    font-size: clamp(1.5rem, 5vw + 1rem, 3rem);
}

이 코드는 최소 1.5rem, 최대 3rem의 폰트 크기를 갖습니다. 그리고 뷰포트의 폭에 따라 5vw + 1rem에서의 동적으로 결정된 값을 사용합니다.

min() 및 max()

min()max() 함수는 각각 지정된 값 중 최소값과 최대값을 반환합니다. 이 두 함수를 사용하여 더 복잡한 레이아웃 조정이 가능합니다.

예를 들어:

.container {
    width: min(100%, 1200px);
}

위의 CSS 코드에서 컨테이너의 너비는 100%이거나 1200px 중 더 작은 값을 반환합니다. 이렇게 하면 뷰포트의 크기가 1200px을 초과해도 컨테이너의 너비가 제한됩니다.

반대로, max() 함수를 사용하면 다음과 같이 설정할 수 있습니다:

.box {
    height: max(200px, 50vh);
}

이 경우 박스의 높이는 200px 또는 50vh 중 더 큰 값이 됩니다.

실습

이제 여러분의 웹 프로젝트에 clamp(), min(), max()를 적용해 보십시오. 아래의 실습 과제를 따라 해보세요.

  1. 다음 HTML 구조를 사용하여 웹 페이지를 만드세요:
    <div class="responsive-text">
        반응형 텍스트
    </div>
    
  2. CSS 파일에서 clamp(), min(), max()를 사용하여 텍스트의 크기를 설정하세요. 최소값과 최대값을 적절히 설정하여 다양한 뷰포트에서 테스트해 보세요.
  3. Chrome DevTools의 Device Toolbar를 사용하여 다양한 화면 크기에서 잘 작동하는지 확인하세요.

이 실습을 통해 반응형 웹 디자인에 있어 유동적인 단위 사용의 중요성을 경험할 수 있습니다. 끝나면 꼭 결과를 검토하고, 학습한 내용을 되새기세요!

프로젝트 연계

이제 번거롭게 보였던 고정된 단위를 사용한 디자인에서 벗어나, 여러분이 만든 웹 프로젝트에 clamp(), min(), max()를 활용하여 더욱 반응형인 디자인을 구현해보세요. 이를 통해 다양한 디바이스에서 통일감 있는 사용자 경험을 제공할 수 있습니다.

멋진 포트폴리오 사이트나 기업형 홈페이지를 제작하는 과정에서도 이러한 반응형 유닛을 적절히 활용하여 세련된 UI/UX를 만들어 보시기 바랍니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.