property: clamp(최소 허용값, 선호값, 최대 허용값);
padding: clamp(10px, 1em, 30px);
width: clamp(220px, 45%, 430px);
font-size: clamp(1.8rem, 2.5vw, 2.8rem);
<button class="small-btn">Small Button</button>
<button class="medium-btn">Medium Button</button>
<button class="large-btn">Large Button</button>
/* 공통 버튼 스타일 */
button {
  padding: clamp(10px, 1em, 30px);
}

/* font-size가 다른 버튼 스타일 */
.small-btn {
  font-size: 12px; /* padding: 10px (최소 허용값) */
}
.medium-btn {
  font-size: 24px; /* padding: 1em (선호값) 즉, 24px */
}
.large-btn {
  font-size: 40px; /* padding: 30px (최대 허용값) */
}
실제 적용된 모습
clamp
클램프(clamp) 이미지 - 이미지 생성: Google AI -
clamp(MIN, VAL, MAX)
<h4 class="type">반응형 폰트 크기 조절하기</h4>
/* 글꼴 크기를 12px와 100px 사이로 유지 */
.type {
    font-size: clamp(12px, 10 * (1vw + 1vh) / 2, 100px);
}
실제 적용된 모습
<div class="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
    <div class="item">Item 4</div>
</div>
.container {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(10px, 2vw, 30px); /* 반응형 간격: 2vw를 기본값으로, 최소 10px, 최대 30px */
}
.item {
    flex: 1 1 calc(25% - 20px); /* 각 아이템은 4개로 나누어지고, gap에 따라 조정 */
    background-color: lightblue;
    padding: 20px;
    margin: 5px;
    text-align: center;
}
실제 적용된 모습