그라데이션 종류

Gradient types

방향으로 번지는 linear, 중심에서 퍼지는 radial, 각도로 도는 conic. CSS 그라데이션 세 가지 기본형입니다.

다른 이름: Linear/radial/conic gradient그라디언트
···
html
<div class="wrap">
  <div class="box" id="linearBox"><span>linear</span></div>
  <div class="box" id="radialBox"><span>radial</span></div>
  <div class="box" id="conicBox"><span>conic</span></div>
</div>
css
.wrap{display:flex;gap:clamp(10px,3vmin,20px);width:min(760px,96%);justify-content:center;flex-wrap:wrap}
.box{width:clamp(64px,28vmin,160px);height:clamp(64px,28vmin,160px);border-radius:14px;border:1px solid var(--line);position:relative;overflow:hidden}
.box span{position:absolute;bottom:6px;left:6px;font:700 clamp(8px,2.2vmin,10px)/1 ui-monospace,monospace;color:#fff;background:rgba(0,0,0,.4);padding:3px 6px;border-radius:6px}
js
let angle = 0, t = 0;
const linearBox = document.getElementById('linearBox'), radialBox = document.getElementById('radialBox'), conicBox = document.getElementById('conicBox');

function render() {
  linearBox.style.background = 'linear-gradient(' + angle + 'deg, var(--accent), var(--accent-3))';
  const cx = 50 + 25 * Math.cos(t), cy = 50 + 25 * Math.sin(t);
  radialBox.style.background = 'radial-gradient(circle at ' + cx + '% ' + cy + '%, var(--accent-2), #1b1433)';
  conicBox.style.background = 'conic-gradient(from ' + angle + 'deg, var(--accent), var(--accent-2), var(--accent-3), var(--accent))';
}
(function tick() {
  angle = (angle + 0.6) % 360;
  t += 0.02;
  render();
  requestAnimationFrame(tick);
})();

linear-gradient(각도, 색1, 색2)는 지정한 각도를 따라 직선으로 색이 바뀝니다. radial-gradient(circle at 위치, 색1, 색2)는 한 점에서 원형으로 퍼져 나갑니다. conic-gradient(from 각도, 색1, 색2, …)는 시계 방향처럼 각도를 따라 색이 회전하며 바뀝니다 — 그래서 색상환이나 파이 차트를 그릴 때 씁니다.

세 종류 모두 색 정지점(color stop)에 위치(%)를 지정할 수 있고, repeating- 접두사를 붙이면 패턴을 무한히 반복하는 줄무늬·과녁 무늬로 바꿀 수 있습니다.

배경을 화려하게 만들 때 자주 쓰지만, 텍스트가 그 위에 올라간다면 어느 지점에서도 대비가 충분한지 꼭 확인하세요 — 그라데이션 안의 밝은 구간에서 흰 글자가 묻히는 경우가 흔합니다.

언제 쓰나

방향감이 필요하면 linear, 스포트라이트·버튼 글로우는 radial, 파이 차트·색상환은 conic을 씁니다.