CSS 그라디언트 가이드: linear·radial·conic 활용
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
목차
그라디언트는 두 가지 이상의 색이 자연스럽게 전환되는 배경 효과입니다. CSS만으로 구현 가능하며
이미지 파일보다 용량이 작고 반응형에도 강합니다. 메시 그라디언트, 글래스모피즘, 다크모드 배경 표현 등
현대 UI 디자인의 핵심 요소이기도 합니다.
이 글은 세 가지 CSS 그라디언트 유형의 문법, 실전 패턴, 성능 최적화,
그리고 한국 브랜드 사이트에서 자주 보이는 그라디언트 트렌드를 정리합니다.
CSS 그라디언트 세 가지 유형#
| 유형 | 함수 | 방향 | 주 용도 |
|---|---|---|---|
| 선형 그라디언트 | linear-gradient() | 직선 방향 | 헤더·배경·버튼 |
| 방사형 그라디언트 | radial-gradient() | 중심에서 바깥으로 원형 | 글로우·스포트라이트 |
| 원추형 그라디언트 | conic-gradient() | 중심 기준 회전 | 파이 차트·색상환·패턴 |
세 유형 모두 모든 주요 브라우저(Chrome, Safari, Firefox, Edge)에서 안정적으로 동작합니다. conic-gradient()만 비교적 늦게 추가되었으나(2018+),
2026년 현재는 호환성 우려가 없습니다.
선형 그라디언트(linear-gradient)#
가장 많이 사용하는 유형입니다.
기본 문법#
background: linear-gradient(방향, 색상1, 색상2, ...);
방향 지정#
/* 방향 키워드 */
linear-gradient(to right, #2563EB, #7C3AED) /* 왼쪽 → 오른쪽 */
linear-gradient(to bottom, #2563EB, #7C3AED) /* 위 → 아래 (기본값) */
linear-gradient(to bottom right, #2563EB, #7C3AED) /* 대각선 */
/* 각도 — 0deg는 위, 시계 방향으로 증가 */
linear-gradient(0deg, #2563EB, #7C3AED) /* 아래 → 위 */
linear-gradient(90deg, #2563EB, #7C3AED) /* to right와 동일 */
linear-gradient(180deg,#2563EB, #7C3AED) /* 기본값과 동일 */
linear-gradient(45deg, #2563EB, #7C3AED) /* 45도 대각선 */
linear-gradient(-45deg,#2563EB, #7C3AED) /* 반대 대각선 */
색상 위치 지정#
색상이 변환되는 위치를 명시할 수 있습니다.
/* 0%·50%·100% 지점 명시 */
linear-gradient(to right, #2563EB 0%, #7C3AED 50%, #DB2777 100%)
/* 중간 지점에서 급격한 전환(하드 스톱) */
linear-gradient(to right, #2563EB 50%, #7C3AED 50%)
/* 파스텔 그라디언트 */
linear-gradient(135deg,
#FCE38A 0%,
#F38181 50%,
#95E1D3 100%)
투명도 활용#
/* 색상에서 투명으로(오버레이 효과) */
linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.7))
/* 이미지 위에 텍스트 가독성 향상 */
.card {
background-image:
linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.8) 100%),
url('photo.jpg');
}
이미지 위에 텍스트를 얹는 카드형 컴포넌트에서
거의 표준처럼 쓰이는 패턴입니다. 사진의 밝기와 무관하게 흰색 텍스트의 가독성을 보장합니다.
멀티 컬러 그라디언트#
색상을 3개 이상 넣으면 기본적으로 균등 분포됩니다.
/* 4색 균등 분포 */
linear-gradient(to right, red, yellow, lime, blue)
/* = linear-gradient(to right, red 0%, yellow 33%, lime 66%, blue 100%) */
각 색의 위치를 명시하면 비균등 분포가 가능합니다.
linear-gradient(to right,
#1E3A8A 0%,
#2563EB 30%,
#7C3AED 70%,
#DB2777 100%)
방사형 그라디언트(radial-gradient)#
중심점에서 바깥으로 퍼지는 원형 그라디언트입니다.
background: radial-gradient(모양 크기 at 위치, 색상1, 색상2);
모양·크기·위치#
/* 기본 원형 */
radial-gradient(circle, #2563EB, #7C3AED)
/* 타원형 */
radial-gradient(ellipse, #2563EB, #7C3AED)
/* 중심 위치 변경 */
radial-gradient(circle at top left, #2563EB, #7C3AED)
radial-gradient(circle at 30% 70%, #2563EB, #7C3AED)
/* 크기 지정 */
radial-gradient(circle 200px at center, #2563EB, transparent)
크기 키워드#
| 키워드 | 의미 |
|---|---|
closest-side | 중심에서 가장 가까운 변까지 |
farthest-side | 중심에서 가장 먼 변까지(기본값) |
closest-corner | 가장 가까운 모서리까지 |
farthest-corner | 가장 먼 모서리까지 |
활용 패턴#
/* 스포트라이트 효과 */
.spotlight {
background:
radial-gradient(circle at 50% 30%, rgba(255,255,255,0.3), transparent 50%),
#1E293B;
}
/* 버튼 글로우 */
.glow-btn {
background: radial-gradient(ellipse at center, #60A5FA, #2563EB);
box-shadow: 0 0 30px rgba(37,99,235,0.5);
}
/* 점진적 페이드 배경 */
.hero {
background: radial-gradient(ellipse at top, #7C3AED, transparent 70%), #0F172A;
}
활용: 배경 조명 효과, 글로우 효과, 점진적 배경 페이드, 글래스모피즘 카드
원추형 그라디언트(conic-gradient)#
중심점을 기준으로 회전하는 그라디언트입니다.
background: conic-gradient(from 시작각도 at 위치, 색상1 범위, 색상2 범위, ...);
기본 사용#
/* 색상환 */
conic-gradient(red, yellow, lime, cyan, blue, magenta, red)
/* 시작 각도 지정 */
conic-gradient(from 90deg, red, yellow, blue)
/* 중심 위치 지정 */
conic-gradient(from 0deg at 30% 70%, red, yellow, blue)
파이 차트#
원추형 그라디언트의 가장 흔한 활용입니다.
.pie-chart {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(
#2563EB 0% 40%,
#7C3AED 40% 70%,
#DB2777 70% 100%
);
}
JavaScript 없이 도넛 차트나 진행률 표시기를 만들 수 있습니다.
체크무늬 패턴#
.checkerboard {
background: conic-gradient(#000 25%, #fff 25% 50%, #000 50% 75%, #fff 75%);
background-size: 20px 20px;
}
background-size와 결합하면 무한 반복 패턴이 됩니다.
활용: 파이 차트, 색상환, 체크무늬 패턴, 회전 애니메이션 배경
여러 그라디언트 겹치기#
CSS background 속성에 쉼표로 구분해
여러 그라디언트를 레이어로 쌓을 수 있습니다.
background:
linear-gradient(rgba(37,99,235,0.3), rgba(37,99,235,0.3)),
radial-gradient(ellipse at top, #7C3AED, transparent),
linear-gradient(to bottom, #1E1B4B, #0F172A);
쉼표 위쪽이 가장 앞 레이어, 아래쪽이 가장 뒤 레이어입니다. 인스타그램 스토리·디스코드 다크모드 같은 풍부한 배경은
이 기법을 활용한 결과입니다.
반복 그라디언트#
패턴을 반복하려면 repeating-linear-gradient() / repeating-radial-gradient()를 사용합니다.
/* 줄무늬 배경 */
.stripes {
background: repeating-linear-gradient(
45deg,
#2563EB,
#2563EB 10px,
transparent 10px,
transparent 20px
);
}
/* 방사형 링 패턴 */
.rings {
background: repeating-radial-gradient(
circle,
#2563EB 0,
#2563EB 5px,
transparent 5px,
transparent 20px
);
}
로딩 인디케이터, 도트 패턴, 줄무늬 배경에 자주 쓰입니다.
한국 브랜드 그라디언트 트렌드#
2024–2026년 한국 IT·핀테크 사이트에서
자주 보이는 그라디언트 패턴을 정리했습니다.
| 사이트/앱 | 그라디언트 스타일 |
|---|---|
| 토스 | 단색 블루 그라디언트(#0064FF → #1E40AF) |
| 쿠팡 라이브 | 보라→핑크 핫그라디언트 |
| 카카오 엔터프라이즈 | 노랑→연두 부드러운 전환 |
| 네이버 클라우드 | 초록 단색 미세 그라디언트 |
| 당근 | 오렌지→레드 따뜻한 그라디언트 |
| 야놀자 | 보라→자주 자갈빛 메시 그라디언트 |
핀테크는 신뢰감을 위해 단색 계열을 선호하고,
라이프스타일·엔터테인먼트는 보색 또는 트라이아드 기반의 다채로운 그라디언트를 사용합니다.
CSS 그라디언트 vs SVG vs Canvas#
| 방식 | 용량 | 반응형 | 성능 | 권장 상황 |
|---|---|---|---|---|
| CSS 그라디언트 | 매우 작음 | ✓ | 좋음 | 단순 그라디언트, UI 배경 |
SVG <linearGradient> | 작음 | ✓ | 좋음 | 아이콘·일러스트 |
| Canvas | 가변 | △ | 보통 | 동적 차트·이미지 처리 |
| 이미지(PNG/WebP) | 큼 | △ | 보통 | 복잡한 메시·노이즈 |
대부분의 UI는 CSS만으로 충분합니다. 메시 그라디언트나 노이즈 텍스처가 필요할 때만 이미지를 고려합니다.
성능 고려사항#
CSS 그라디언트는 이미지 파일보다 성능이 좋지만,
복잡한 그라디언트는 렌더링 시 GPU를 사용합니다.
- 단순 그라디언트는 성능 영향이 거의 없습니다.
- 스크롤 시 반복 렌더링이 필요한 배경은
will-change: transform또는 별도 레이어로 분리합니다. - 애니메이션 그라디언트는
background-position이동이background직접 변경보다 성능이 좋습니다. - 모바일에서
radial-gradient+conic-gradient다중 레이어는 저사양 기기에서 끊김이 발생할 수 있습니다. Lighthouse Performance 점수가 낮으면 단순화 검토.
/* 그라디언트 애니메이션 최적화 패턴 */
.animated-gradient {
background: linear-gradient(270deg, #2563EB, #7C3AED, #DB2777);
background-size: 300% 300%;
animation: shift 4s ease infinite;
}
@keyframes shift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
background-size를 키우고
background-position을 이동시키는 방식이 GPU 가속을 활용해 부드럽습니다.
흔한 실수와 해결법#
1. 그라디언트가 안 보이는 문제#
background-color만 설정하고
background-image나 background에 그라디언트를 안 넣은 경우가 가장 흔합니다. 그라디언트는 background-image 카테고리에 속하므로
background 단축 속성에 함께 명시해야 합니다.
2. 색상 뱅딩(banding) 현상#
두 색이 너무 비슷하면 그라디언트 사이에 줄무늬가 보입니다(특히 어두운 영역). 색상 차이를 키우거나,
미세한 노이즈 텍스처를 오버레이로 추가하면 해결됩니다.
/* 노이즈 오버레이 */
background:
url('/noise.svg'),
linear-gradient(to bottom, #1E293B, #0F172A);
background-blend-mode: overlay;
3. iOS Safari 깜빡임#
iOS에서 그라디언트 배경이 스크롤 시 깜빡일 수 있습니다. transform: translateZ(0) 또는 backface-visibility: hidden으로
강제 GPU 합성을 유도하면 해결됩니다.
4. 인쇄 시 그라디언트 누락#
브라우저 인쇄 기본 설정은 배경 색상·이미지를 출력하지 않습니다. 인쇄 미리보기에서 "Background graphics" 옵션을 켜야
그라디언트가 나옵니다. @media print에서는 그라디언트 의존을 줄입니다.
자주 묻는 질문#
Q. 그라디언트와 단색 중 무엇이 더 권장되나요?
A. 브랜드 톤에 따라 다릅니다. 핀테크·기업 사이트는 단색 또는 미세한 그라디언트가 신뢰감을 주고,
라이프스타일·게임·엔터테인먼트는 다채로운 그라디언트가 어울립니다. 어느 쪽이든 가독성(텍스트 대비)을 우선합니다.
Q. 텍스트에도 그라디언트를 적용할 수 있나요?
A. background-clip: text와 color: transparent 조합으로 가능합니다.
.gradient-text {
background: linear-gradient(45deg, #2563EB, #DB2777);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}
Q. 그라디언트 색상은 어떻게 고르나요?
A. 보색·트라이아드는 강한 대비, 유사색은 부드러운 전환을 만듭니다. 자세한 배색 이론은 색상 팔레트 완전 가이드에서 설명합니다. 색상 변환·HEX↔RGB↔HSL 간 전환은 색상 변환기를 활용하세요.
Q. CSS 그라디언트로 메시(mesh) 그라디언트를 만들 수 있나요?
A. 표준 CSS만으로는 불가능하며,
여러 radial-gradient를 겹쳐 근사 효과를 낼 수 있습니다. 진짜 메시 그라디언트는 SVG <filter> 또는 이미지를 사용합니다.
Q. 다크모드와 라이트모드 그라디언트를 자동 전환할 수 있나요?
A. CSS 변수로 그라디언트 정지점(stop)을 선언하고 모드별로 변경하면 됩니다.
:root {
--grad-start: #EFF6FF;
--grad-end: #FFFFFF;
}
[data-theme="dark"] {
--grad-start: #1E293B;
--grad-end: #0F172A;
}
.hero {
background: linear-gradient(to bottom, var(--grad-start), var(--grad-end));
}
그라디언트 생성 도구 활용법#
코드를 직접 작성하지 않아도 됩니다. 그라디언트 생성 도구에서:
- 그라디언트 유형 선택(선형/방사형/원추형)
- 색상 피커로 색상 지정
- 방향·각도·위치 설정
- 미리보기 확인
- CSS 코드 복사해서 바로 사용
그라디언트에 사용할 색상 조합이 고민된다면
색상 팔레트 완전 가이드에서 보색·유사색·트라이아드 배색 이론을 참고하세요. 색상 코드 변환·실무 워크플로는 HEX·RGB·HSL 색상 코드 변환 가이드에서 확인할 수 있습니다.