학습
CSS CSS 함수 (calc(), var(), 등)
CSS CSS 함수 (calc(), var(), 등) — 중급
CSS 함수 (calc(), var(), 등)
1. 도입 (왜 배워야 하는가)
CSS 함수는 현대 웹 디자인에서 매우 중요한 역할을 합니다. calc(), var(), clamp()와 같은 함수들은 레이아웃을 더욱 유동적으로 만들고, 변수 사용을 통해 스타일을 효율적으로 관리할 수 있게 도와줍니다. 이러한 기능을 활용하지 않으면, 고정된 값만으로 레이아웃을 구성하게 되어 다양한 화면 크기와 해상도에 적절히 대응하지 못하는 문제가 발생할 수 있습니다. 예를 들어, 반응형 웹 디자인을 구현할 때, CSS 함수를 통해 요소의 크기나 위치를 동적으로 조정할 수 있어야 합니다. 이를 모르면, 코드 유지보수가 어려워지고, 사용자 경험이 저하될 수 있습니다.
2. 핵심 개념 설명
- calc(): CSS에서 수학적 계산을 수행할 수 있는 함수입니다. 예를 들어, 두 개의 값(픽셀, 퍼센트 등)을 더하거나 빼는 등의 연산을 가능하게 합니다.
- var(): CSS 변수를 사용하기 위한 함수입니다. 변수를 정의하고, 이를 통해 스타일을 쉽게 관리하고 재사용할 수 있습니다.
관련 용어 정리
| 용어 | 설명 |
|---|---|
| calc() | CSS에서 수학적 계산을 수행하는 함수 |
| var() | CSS 변수를 정의하고 사용하는 함수 |
| clamp() | 값의 범위를 제한하는 함수 |
3. 기본 코드 예제
calc() 사용 예제
.box {
width: calc(100% - 20px); / 전체 너비의 100%에서 20px를 뺀 너비 /
height: 200px; / 고정된 높이 /
background-color: lightblue; / 배경색 /
}
.box 요소는 전체 너비의 100%에서 20px을 뺀 너비를 가집니다.- width: calc(100% - 20px); → 전체 너비의 100%에서 20px을 빼서 너비를 설정합니다.
- height: 200px; → 높이는 200px로 고정합니다.
- background-color: lightblue; → 배경색을 연한 파란색으로 설정합니다.
var() 사용 예제
:root {
--primary-color: #3498db; / 기본 색상 정의 /
}
.button {
background-color: var(--primary-color); / 변수를 사용하여 배경색 설정 /
color: white; / 글자색을 흰색으로 설정 /
padding: 10px 15px; / 패딩 설정 /
}
.button 요소의 배경색은 정의한 --primary-color가 됩니다.- :root { --primary-color: #3498db; } → CSS 변수 --primary-color를 정의합니다.
- background-color: var(--primary-color); → 정의된 변수를 사용하여 배경색을 설정합니다.
- color: white; → 글자색을 흰색으로 설정합니다.
- padding: 10px 15px; → 버튼에 패딩을 적용하여 공간을 만듭니다.
4. 실전 활용 예제
예제 1: 쇼핑몰에서 장바구니 구현할 때
.cart {
width: calc(50% - 30px); / 반응형으로 두 개의 장바구니 아이템을 나란히 배치 /
margin: 15px; / 아이템 간격 설정 /
background-color: var(--primary-color); / 이전에 정의한 변수를 사용 /
}
예제 2: 다양한 화면 크기에 대응하는 레이아웃
.container {
padding: 20px;
width: calc(100% - 40px); / 화면 크기에 따라 유동적인 레이아웃 제공 /
}
5. 흔한 실수와 주의사항
실수 1: calc()에서 단위 혼용
// 잘못된 코드
width: calc(100% - 20); / 단위가 없음 /
width: calc(100% - 20px); / 단위가 필요함 /
실수 2: var() 사용 시 브라우저 호환성
// 잘못된 코드
background-color: var(--undefined-variable); / 정의되지 않은 변수를 사용함 /
background-color: var(--primary-color, #000); / 기본값을 제공 /
6. 정리
calc()는 수학적 계산을 통해 크기를 동적으로 조정 가능하게 합니다.var()는 변수를 사용하여 스타일을 효율적으로 관리할 수 있습니다.