선형 그라디언트

Linear Gradient

두 색 또는 여러 색을 한 방향으로 부드럽게 이어 캔버스를 채웁니다.

다른 이름: LinearGradientLinear color gradient

WebGPU 를 지원하는 브라우저에서 움직입니다

이 기기에서는 데모를 그리지 못해 정지 화면을 보여 줍니다

React
// WebGPU 를 지원하는 브라우저에서만 그립니다.
import { Shader, LinearGradient } from 'shaders/react'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: 320 }} disableTelemetry>
      <LinearGradient />
    </Shader>
  )
}
Vue
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<script setup lang="ts">
import { Shader, LinearGradient } from 'shaders/vue'
</script>

<template>
  <Shader style="width: 100%; height: 320px" :disable-telemetry="true">
    <LinearGradient/>
  </Shader>
</template>
Svelte
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<script>
  import { Shader, LinearGradient } from 'shaders/svelte'
</script>

<Shader style="width: 100%; height: 320px" disableTelemetry>
  <LinearGradient />
</Shader>
Solid
// WebGPU 를 지원하는 브라우저에서만 그립니다.
import { Shader, LinearGradient } from 'shaders/solid'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: '320px' }} disableTelemetry>
      <LinearGradient />
    </Shader>
  )
}
JavaScript
// WebGPU 를 지원하는 브라우저에서만 그립니다.
// <canvas id="canvas" style="width:100%;height:320px"></canvas> 가 페이지에 있어야 한다
import { createShader } from 'shaders/js'

const shader = await createShader(document.getElementById("canvas"), {
  components: [
    {
      type: 'LinearGradient',
    }
  ]
}, { disableTelemetry: true })

속성(props) · LinearGradient

값을 바꾸면 위 데모와 코드 탭에 바로 반영됩니다. 설명은 라이브러리 레지스트리의 영어 원문(MIT)입니다.

이름값기본값범위·선택지설명(원문)
colorAColor A#1aff00—The starting color of the gradient
colorBColor B#0000ff—The ending color of the gradient
stopsColors코드에서 지정null—Multi-stop gradient colors (overrides Color A / Color B when set)
startStart
x0y0.5
{"x":0,"y":0.5}x, y: 0 – 1The starting point of the gradient
endEnd
x1y0.5
{"x":1,"y":0.5}x, y: 0 – 1The ending point of the gradient
angleAngle00 – 360 (step 1)Additional rotation angle of the gradient (in degrees)
edgesEdgesstretchstretch · transparent · mirror · wrapHow to handle areas beyond the gradient endpoints
colorSpaceColor Spacelinearlinear · oklch · oklab · hsl · hsv · lchColor space for color interpolation

모든 컴포넌트 공통: blendMode · opacity · visible · maskSource/maskType · boundingBox · id

화면을 가로지르는 빛 바처럼, 한쪽 색이 다른 쪽 색으로 천천히 바뀌는 배경입니다. 버튼, 카드, 히어로 영역에 색의 흐름을 더할 때 쓸 수 있습니다.

`colorA`와 `colorB`가 기본 양 끝 색이고, `stops`에 색을 여럿 지정하면 그 색들이 두 색 설정을 대신합니다. `angle`을 올리면 그라디언트의 방향이 회전합니다(기본 0°, 범위 0–360°), `edges`에서 끝점 바깥을 늘이거나 투명·미러·랩 방식으로 처리할 수 있습니다.

이 레이어는 자체적으로 캔버스를 채우므로 아래에 별도 입력을 깔 필요가 없습니다. 위에 텍스트나 도형을 얹을 때는 배경과 글자 사이의 대비를 먼저 확인하세요. 여러 색 띠가 많으면 작은 글씨가 복잡해 보일 수 있습니다.

언제 쓰나

버튼·카드의 깊이를 더하고 싶을 때, 화면 상단에 시선을 모을 배경이 필요할 때, 두 브랜드 색을 연결할 때 잘 맞습니다. 작은 글씨 뒤에 강한 색 변화가 지나가면 피하세요.

페이지로 열기 ↗